
:root{
  --navy:#0b1220;
  --navy-2:#101b30;
  --ink:#172033;
  --muted:#667085;
  --line:#e6eaf0;
  --soft:#f5f7fa;
  --white:#ffffff;
  --accent:#d4af37;
  --accent-dark:#b88918;
  --accent-soft:#fff4c4;
  --shadow:0 24px 70px rgba(8,18,38,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,18,32,.90);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;color:#fff}
.brand-mark{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,var(--accent),#e3ef92);
  color:#0d1728;font-weight:900;font-size:22px;
  box-shadow:0 12px 30px rgba(212,175,55,.25);
}
.brand-text{display:flex;flex-direction:column;line-height:.95;letter-spacing:.11em}
.brand-text strong{font-size:16px}
.brand-text small{font-size:9px;color:#b6bfd0;margin-top:5px}
.main-nav{display:flex;align-items:center;gap:26px;color:#cfd6e3;font-size:14px;font-weight:700}
.main-nav a:hover{color:#fff}
.main-nav .nav-cta{
  background:var(--accent);color:#101624;
  padding:11px 16px;border-radius:10px;
}
.menu-btn{display:none;background:none;border:0;padding:6px}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 80% 10%, rgba(212,175,55,.13), transparent 28%),
    linear-gradient(135deg,#0b1220,#101c31 60%,#0a1322);
  color:#fff;padding:94px 0 88px;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--accent);
}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.eyebrow.dark{color:var(--accent-dark)}
.hero h1{
  font-size:clamp(44px,6vw,76px);line-height:.99;letter-spacing:-.045em;
  max-width:790px;margin:18px 0 24px;
}
.hero-lead{font-size:19px;color:#c6cfdd;max-width:760px;margin:0 0 30px}
.hero-lead strong{color:#fff}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 20px;border-radius:12px;
  font-weight:900;font-size:14px;border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--accent);color:#101624}
.btn-primary:hover{background:#e7c866}
.btn-secondary{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
.hero-trust{display:flex;gap:30px;margin-top:42px;flex-wrap:wrap}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust strong{font-size:23px}
.hero-trust span{font-size:12px;color:#8f9aae}
.hero-panel{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;padding:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.27);
}
.panel-top{display:flex;align-items:center;gap:9px;color:#cdd5e3;padding:8px 6px 16px;font-size:13px}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(212,175,55,.12)}
.capability-list{display:grid;gap:10px}
.capability{
  display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;
  background:#fff;color:var(--ink);border-radius:16px;padding:15px 16px;
}
.capability-icon{
  width:40px;height:40px;border-radius:12px;background:var(--soft);
  display:grid;place-items:center;font-weight:900;color:var(--accent-dark);font-size:12px
}
.capability div{display:flex;flex-direction:column}
.capability small{color:var(--muted);margin-top:2px}

.section{padding:92px 0}
.section-white{background:#fff}
.section-soft{background:var(--soft)}
.section-dark{background:var(--navy);color:#fff}
.section-head{max-width:760px;margin-bottom:42px}
.section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.035em;margin:12px 0 16px}
.section-head p{font-size:18px;color:var(--muted);margin:0}
.section-head.light p{color:#aeb8c8}

.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.service-card{
  grid-column:span 2;border:1px solid var(--line);border-radius:20px;padding:26px;
  background:#fff;box-shadow:0 8px 30px rgba(10,20,40,.04);
  transition:.25s ease;
}
.service-card:nth-child(4), .service-card:nth-child(5){grid-column:span 3}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d7deea}
.service-card-featured{background:var(--navy);color:#fff;border-color:var(--navy)}
.service-number{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--accent-dark)}
.service-card-featured .service-number{color:var(--accent)}
.service-card h3{font-size:23px;margin:10px 0}
.service-card p{color:var(--muted);min-height:72px}
.service-card-featured p{color:#b7c0cf}
.service-card ul{padding-left:18px;color:#424c5f}
.service-card-featured ul{color:#d7dce5}
.service-card a{display:inline-block;margin-top:10px;font-weight:900;color:#9a7418}
.service-card-featured a{color:var(--accent)}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-step{background:#fff;border-radius:18px;padding:24px;border:1px solid var(--line)}
.process-step span{font-size:12px;font-weight:900;color:var(--accent-dark)}
.process-step h3{margin:8px 0 8px;font-size:22px}
.process-step p{margin:0;color:var(--muted)}

.sectors-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.sector-chips{display:flex;flex-wrap:wrap;gap:12px}
.sector-chips span{
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.05);
  padding:13px 16px;border-radius:999px;color:#d6dce7;font-weight:700;font-size:14px
}

.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:start}
.about-card h2{font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.035em;margin:12px 0 18px}
.about-card p{font-size:18px;color:var(--muted)}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.values-grid div{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:22px}
.values-grid strong{display:block;margin-bottom:6px}
.values-grid span{color:var(--muted);font-size:14px}

.cta-section{background:linear-gradient(180deg,#fff,var(--soft));padding:20px 0 92px}
.cta-box{
  background:var(--navy);color:#fff;border-radius:26px;padding:44px;
  display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;
  box-shadow:0 28px 90px rgba(7,17,35,.18)
}
.cta-box h2{font-size:clamp(32px,4vw,48px);line-height:1.05;margin:12px 0}
.cta-box p{color:#b7c0cf}
.contact-form{background:#fff;color:var(--ink);border-radius:18px;padding:22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:grid;gap:7px;font-size:13px;font-weight:800;margin-bottom:12px}
input,select,textarea{
  width:100%;font:inherit;border:1px solid #dfe4eb;border-radius:11px;
  padding:12px 13px;background:#fff;color:var(--ink);outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
textarea{resize:vertical}
.form-note{font-size:11px;color:#7d8798!important;margin:8px 0 0!important}

.site-footer{background:#070d18;color:#c5ccda;padding:56px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.footer-grid>div{display:flex;flex-direction:column;gap:9px}
.footer-grid strong{color:#fff}
.footer-grid a:not(.brand){color:#aeb8c8;font-size:14px}
.footer-grid span{color:#aeb8c8;font-size:14px}
.footer-brand{margin-bottom:4px}
.footer-bottom{
  margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);
  display:flex;justify-content:space-between;gap:20px;color:#7f899a;font-size:12px
}
.legal-note{text-align:right;max-width:620px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:980px){
  .hero-grid,.sectors-layout,.about-grid,.cta-box{grid-template-columns:1fr}
  .hero{padding-top:72px}
  .services-grid{grid-template-columns:1fr 1fr}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 1}
  .process-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .container{width:min(100% - 28px,1180px)}
  .menu-btn{display:block}
  .main-nav{
    position:absolute;top:76px;left:0;right:0;background:var(--navy);
    border-top:1px solid rgba(255,255,255,.08);
    display:none;flex-direction:column;align-items:stretch;padding:18px 22px 24px;gap:8px
  }
  .main-nav.open{display:flex}
  .main-nav a{padding:10px 4px}
  .main-nav .nav-cta{text-align:center;margin-top:5px}
  .hero{padding:62px 0}
  .hero h1{font-size:45px}
  .hero-trust{gap:18px}
  .section{padding:72px 0}
  .services-grid,.process-grid,.values-grid,.form-row{grid-template-columns:1fr}
  .service-card p{min-height:auto}
  .cta-box{padding:24px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .legal-note{text-align:left}
}


/* --- Nexora V2 : vrai logo + formulaire WhatsApp --- */
.brand-logo-link{display:inline-flex;align-items:center}
.brand-logo{
  width:150px;
  height:auto;
  object-fit:contain;
  border-radius:0;
  box-shadow:none;
}
.footer-logo{width:170px}
.contact-direct{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin-bottom:16px;
  border-radius:13px;
  background:#111;
  color:#fff;
  border:1px solid rgba(212,175,55,.35);
}
.contact-direct>div{display:flex;flex-direction:column}
.contact-label{font-size:11px;color:#d4af37;letter-spacing:.08em;text-transform:uppercase}
.contact-direct strong{font-size:18px}
.whatsapp-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  background:#d4af37;
  color:#111;
  font-weight:900;
  font-size:13px;
}
.btn-whatsapp{
  width:100%;
  background:#d4af37;
  color:#111;
}
.btn-whatsapp:hover{background:#e2c15c}
@media (max-width:760px){
  .brand-logo{width:125px}
  .footer-logo{width:150px}
  .contact-direct{align-items:flex-start;flex-direction:column}
}


/* Correctif de visibilité robuste : le contenu reste visible même si JavaScript ne démarre pas. */
.reveal,
.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}


/* ===== NEXORA GROUP V4 ===== */
:root{
  --navy:#1C2E46 !important;
  --navy-2:#29425F !important;
  --ink:#101828 !important;
  --muted:#667085 !important;
  --line:#E4E7EC !important;
  --soft:#F6F7F9 !important;
  --accent:#D4AF37 !important;
  --accent-dark:#A97809 !important;
  --accent-soft:#FFF7D6 !important;
}

.reveal,.reveal.visible{opacity:1!important;transform:none!important}

.site-header{background:rgba(28,46,70,.97)!important}
.nav-cta,.btn-primary,.btn-whatsapp,.whatsapp-link{
  background:#D4AF37!important;color:#111827!important
}
.nav-cta:hover,.btn-primary:hover,.btn-whatsapp:hover,.whatsapp-link:hover{
  background:#E7C75D!important
}
.eyebrow,.status-dot,.service-card-featured .service-number{color:#D4AF37!important}
.status-dot{background:#D4AF37!important;box-shadow:0 0 0 5px rgba(212,175,55,.16)!important}
.capability-icon,.service-number,.process-step span{color:#A97809!important}
.service-card a{color:#8A670F!important}

.service-card-link{
  display:inline-flex;
  margin-top:12px;
  font-weight:900;
  color:#8A670F;
}
.service-card-featured .service-card-link{color:#D4AF37}

.service-hero{
  background:linear-gradient(135deg,#1C2E46 0%,#29425F 100%);
  color:#fff;
  padding:86px 0 74px;
}
.service-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:44px;
  align-items:center;
}
.service-hero h1{
  font-size:clamp(44px,6vw,72px);
  line-height:1;
  letter-spacing:-.045em;
  margin:14px 0 20px;
}
.service-hero p{
  font-size:19px;
  color:#D0D5DD;
  max-width:760px;
}
.service-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.4);
  background:rgba(212,175,55,.08);
  color:#F3D77E;
  font-weight:800;
  font-size:13px;
}
.service-summary-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:24px;
}
.service-summary-card strong{display:block;font-size:16px;margin-bottom:12px}
.service-summary-card ul{margin:0;padding-left:20px;color:#E4E7EC}
.service-summary-card li{margin:9px 0}

.detail-section{padding:78px 0}
.detail-section.alt{background:#F8F9FB}
.detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.detail-card{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:20px;
  padding:28px;
  box-shadow:0 10px 30px rgba(16,24,40,.04);
}
.detail-card h3{font-size:22px;margin:0 0 12px}
.detail-card p{color:#667085;margin:0}
.detail-card ul{padding-left:20px;color:#475467}
.detail-card li{margin:8px 0}
.steps-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
}
.step-mini{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:16px;
  padding:20px;
}
.step-mini span{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:10px;
  background:#FFF7D6;
  color:#8A670F;
  font-weight:900;
  margin-bottom:12px;
}
.service-cta{
  background:#1C2E46;
  color:#fff;
  border-radius:24px;
  padding:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.service-cta h2{margin:0 0 8px;font-size:34px}
.service-cta p{margin:0;color:#D0D5DD;max-width:720px}

.subnav{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:24px
}
.subnav a{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;font-weight:800;
}
.subnav a.active{
  background:#D4AF37;color:#111827;border-color:#D4AF37
}

@media(max-width:900px){
  .service-hero-grid,.detail-grid{grid-template-columns:1fr}
  .steps-row{grid-template-columns:1fr 1fr}
  .service-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .steps-row{grid-template-columns:1fr}
  .service-hero{padding:58px 0 50px}
  .service-cta{padding:24px}
}


/* ===== V6 : WhatsApp Desktop + secours Web ===== */
.whatsapp-fallback{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,24,40,.10);
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  align-items:center;
  font-size:12px;
  color:#667085;
}
.whatsapp-fallback a{
  font-weight:900;
  color:#8A670F;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* ===== V7 : ESPACE CANDIDATS ===== */
.active-nav{
  color:#D4AF37 !important;
}

.candidate-hero{
  background:linear-gradient(135deg,#1C2E46 0%,#29425F 100%);
  color:#fff;
  padding:84px 0 72px;
}

.candidate-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:44px;
  align-items:center;
}

.candidate-hero h1{
  font-size:clamp(44px,6vw,72px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:16px 0 20px;
  max-width:800px;
}

.candidate-hero p{
  font-size:19px;
  line-height:1.65;
  color:#D0D5DD;
  max-width:720px;
}

.candidate-summary{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:24px;
  backdrop-filter:blur(8px);
}

.candidate-summary>strong{
  display:block;
  margin-bottom:16px;
  color:#F3D77E;
}

.candidate-summary-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.10);
}

.candidate-summary-row span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#D4AF37;
  color:#111827;
  font-weight:900;
  font-size:12px;
}

.candidate-summary-row p{
  margin:0;
  font-size:14px;
  color:#fff;
}

.candidate-section{
  padding:78px 0;
  background:#F7F8FA;
}

.candidate-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:46px;
  align-items:start;
}

.candidate-info h2{
  font-size:42px;
  line-height:1.08;
  margin:12px 0 18px;
}

.candidate-info>p{
  color:#667085;
  line-height:1.7;
}

.candidate-note,
.candidate-privacy{
  margin-top:24px;
  border-radius:18px;
  padding:22px;
}

.candidate-note{
  background:#FFF7D6;
  border:1px solid rgba(212,175,55,.38);
}

.candidate-note strong,
.candidate-privacy h3{
  display:block;
  margin-bottom:7px;
  color:#8A670F;
}

.candidate-note p,
.candidate-privacy p{
  margin:0;
  color:#475467;
  line-height:1.6;
}

.candidate-privacy{
  background:#fff;
  border:1px solid #E4E7EC;
}

.candidate-form{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:22px;
  padding:28px;
  box-shadow:0 14px 42px rgba(16,24,40,.06);
}

.candidate-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:800;
  font-size:13px;
  margin-bottom:16px;
}

.candidate-form input,
.candidate-form select,
.candidate-form textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #D0D5DD;
  border-radius:12px;
  background:#fff;
  color:#101828;
  font:inherit;
  outline:none;
}

.candidate-form input:focus,
.candidate-form select:focus,
.candidate-form textarea:focus{
  border-color:#D4AF37;
  box-shadow:0 0 0 3px rgba(212,175,55,.13);
}

.consent-row{
  flex-direction:row !important;
  align-items:flex-start;
  gap:10px !important;
  font-weight:500 !important;
  color:#475467;
  line-height:1.5;
}

.consent-row input{
  width:auto !important;
  margin-top:3px;
}

.btn-candidate{
  width:100%;
}

.candidate-home-strip{
  padding:58px 0;
  background:#F8F9FB;
}

.candidate-home-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border:1px solid #E4E7EC;
  background:#fff;
  border-radius:22px;
  padding:30px 32px;
}

.candidate-home-inner h2{
  margin:7px 0 8px;
  font-size:34px;
}

.candidate-home-inner p{
  margin:0;
  color:#667085;
  max-width:760px;
}

@media(max-width:900px){
  .candidate-hero-grid,
  .candidate-layout{
    grid-template-columns:1fr;
  }

  .candidate-home-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:640px){
  .candidate-hero{
    padding:58px 0 50px;
  }

  .candidate-form{
    padding:20px;
  }
}


/* ===== V8 : OFFRES D'EMPLOI ===== */
.jobs-hero{
  background:linear-gradient(135deg,#1C2E46 0%,#29425F 100%);
  color:#fff;
  padding:84px 0 72px;
}
.jobs-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:48px;
  align-items:center;
}
.jobs-hero h1{
  font-size:clamp(46px,6vw,72px);
  line-height:1;
  letter-spacing:-.045em;
  margin:16px 0 20px;
}
.jobs-hero p{
  color:#D0D5DD;
  font-size:18px;
  line-height:1.7;
  max-width:760px;
}
.jobs-hero-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  padding:28px;
}
.jobs-hero-card strong{
  display:block;
  font-size:22px;
  margin-bottom:8px;
}
.jobs-hero-card p{
  font-size:15px;
  margin-bottom:20px;
}
.jobs-section{
  padding:78px 0;
  background:#F8F9FB;
}
.jobs-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:30px;
}
.jobs-toolbar h2{
  font-size:38px;
  margin:8px 0 0;
}
.jobs-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.job-filter{
  border:1px solid #D0D5DD;
  background:#fff;
  color:#344054;
  border-radius:999px;
  padding:9px 14px;
  font-weight:800;
  cursor:pointer;
}
.job-filter.active,
.job-filter:hover{
  background:#D4AF37;
  border-color:#D4AF37;
  color:#111827;
}
.jobs-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.job-card{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:20px;
  padding:26px;
  box-shadow:0 12px 32px rgba(16,24,40,.04);
}
.job-card-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  font-size:12px;
}
.job-category{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#FFF7D6;
  color:#8A670F;
  font-weight:900;
  text-transform:uppercase;
}
.job-date{color:#98A2B3}
.job-card h3{
  font-size:26px;
  margin:0 0 12px;
}
.job-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  color:#475467;
  font-size:13px;
  margin-bottom:15px;
}
.job-meta span{
  padding:6px 9px;
  background:#F2F4F7;
  border-radius:8px;
}
.job-card p{
  color:#667085;
  line-height:1.65;
}
.job-requirements{
  padding-left:20px;
  color:#475467;
  margin:16px 0 22px;
}
.job-requirements li{margin:7px 0}
.empty-jobs{
  display:none;
  text-align:center;
  max-width:760px;
  margin:0 auto;
  padding:54px 30px;
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:22px;
}
.empty-jobs-icon{
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  margin:0 auto 18px;
  border-radius:18px;
  background:#1C2E46;
  color:#D4AF37;
  font-weight:900;
  font-size:18px;
}
.empty-jobs h3{
  font-size:28px;
  margin:0 0 10px;
}
.empty-jobs p{
  color:#667085;
  line-height:1.7;
  margin:0 auto 22px;
  max-width:620px;
}
.jobs-process{
  padding:72px 0;
  background:#fff;
}
.jobs-home-strip{
  padding:26px 0 58px;
  background:#F8F9FB;
}
.jobs-home-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:30px 32px;
  border-radius:22px;
  background:#1C2E46;
  color:#fff;
}
.jobs-home-inner h2{
  margin:6px 0 8px;
  font-size:34px;
}
.jobs-home-inner p{
  margin:0;
  color:#D0D5DD;
}
.jobs-home-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.dark-btn{
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
}
@media(max-width:900px){
  .jobs-hero-grid,.jobs-grid{grid-template-columns:1fr}
  .jobs-toolbar{flex-direction:column;align-items:flex-start}
  .jobs-home-inner{flex-direction:column;align-items:flex-start}
}


/* ===== V10 : OFFRE STATIQUE GARANTIE ===== */
.jobs-count{
  display:inline-flex;
  vertical-align:middle;
  margin-left:12px;
  padding:7px 10px;
  border-radius:999px;
  background:#FFF7D6;
  color:#8A670F;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}


/* ===== V11 : OFFRES CONNECTÉES À FIRESTORE ===== */
.jobs-status{margin:24px 0;padding:18px 20px;border-radius:16px;text-align:center;font-weight:800}
.jobs-loading{background:#FFF7D6;color:#8A670F;border:1px solid rgba(212,175,55,.30)}
.jobs-error{background:#FEF3F2;color:#B42318;border:1px solid #FECDCA}


/* ===== V12 : BACK-OFFICE NEXORA ===== */
.admin-page{
  background:#F5F7FA;
  color:#101828;
  min-height:100vh;
}
.admin-topbar{
  background:#1C2E46;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
  position:sticky;
  top:0;
  z-index:50;
}
.admin-topbar-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:18px;
}
.admin-topbar-title{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.admin-topbar-title span{
  font-weight:900;
}
.admin-topbar-title small{
  color:#D0D5DD;
}
.admin-topbar-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-public-link,
.admin-logout,
.admin-secondary-btn,
.admin-danger-btn{
  border-radius:10px;
  padding:10px 13px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.admin-public-link{
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}
.admin-logout{
  color:#111827;
  background:#D4AF37;
  border:0;
}
.admin-login-section{
  min-height:calc(100vh - 78px);
  display:grid;
  place-items:center;
  padding:38px 20px;
  background:
    radial-gradient(circle at 15% 20%,rgba(212,175,55,.12),transparent 28%),
    linear-gradient(135deg,#EEF2F6,#FFFFFF);
}
.admin-login-card{
  width:min(460px,100%);
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:24px;
  padding:34px;
  box-shadow:0 24px 70px rgba(16,24,40,.10);
}
.admin-login-mark,
.admin-empty-mark{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:16px;
  background:#1C2E46;
  color:#D4AF37;
  font-weight:900;
  margin-bottom:18px;
}
.admin-login-card h1{
  font-size:34px;
  margin:8px 0 12px;
}
.admin-login-card>p{
  color:#667085;
  line-height:1.65;
}
.admin-login-form{
  margin-top:24px;
}
.admin-login-form label,
.admin-job-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13px;
  font-weight:800;
  margin-bottom:16px;
}
.admin-login-form input,
.admin-job-form input,
.admin-job-form select,
.admin-job-form textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #D0D5DD;
  border-radius:12px;
  background:#fff;
  color:#101828;
  font:inherit;
  outline:none;
}
.admin-login-form input:focus,
.admin-job-form input:focus,
.admin-job-form select:focus,
.admin-job-form textarea:focus{
  border-color:#D4AF37;
  box-shadow:0 0 0 3px rgba(212,175,55,.14);
}
.admin-login-btn{
  width:100%;
}
.admin-message{
  min-height:20px;
  margin-top:10px;
  color:#667085;
  font-size:13px;
}
.admin-message-error{
  color:#B42318;
}
.admin-message-success{
  color:#027A48;
}
.admin-dashboard{
  padding:48px 0 76px;
}
.admin-dashboard-inner{
  display:flex;
  flex-direction:column;
  gap:26px;
}
.admin-heading{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
}
.admin-heading h1{
  margin:7px 0 5px;
  font-size:42px;
}
.admin-heading p{
  margin:0;
  color:#667085;
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.admin-stats article{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:18px;
  padding:22px;
}
.admin-stats span{
  display:block;
  color:#667085;
  font-size:13px;
  font-weight:800;
}
.admin-stats strong{
  display:block;
  margin-top:8px;
  font-size:34px;
}
.admin-panel{
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:22px;
  padding:26px;
  box-shadow:0 12px 34px rgba(16,24,40,.04);
}
.admin-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.admin-panel-head h2{
  margin:0 0 5px;
}
.admin-panel-head p{
  margin:0;
  color:#667085;
}
.admin-secondary-btn{
  background:#fff;
  color:#344054;
  border:1px solid #D0D5DD;
}
.admin-danger-btn{
  background:#FFF;
  color:#B42318;
  border:1px solid #FECDCA;
}
.admin-secondary-btn:hover{
  background:#F9FAFB;
}
.admin-danger-btn:hover{
  background:#FEF3F2;
}
.admin-jobs-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.admin-job-card{
  display:flex;
  gap:20px;
  justify-content:space-between;
  padding:22px;
  border:1px solid #E4E7EC;
  border-radius:18px;
  background:#FCFCFD;
}
.admin-job-main{
  flex:1;
  min-width:0;
}
.admin-job-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.admin-job-category{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#FFF7D6;
  color:#8A670F;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
}
.admin-job-title-row h3{
  margin:8px 0 0;
  font-size:23px;
}
.admin-status{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.admin-status.is-active{
  background:#ECFDF3;
  color:#027A48;
}
.admin-status.is-inactive{
  background:#F2F4F7;
  color:#667085;
}
.admin-job-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:14px 0 10px;
}
.admin-job-meta span{
  background:#F2F4F7;
  color:#475467;
  padding:6px 8px;
  border-radius:8px;
  font-size:12px;
}
.admin-job-main p{
  margin:0;
  color:#667085;
}
.admin-job-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.admin-job-tags span{
  font-size:11px;
  padding:6px 8px;
  border-radius:8px;
  background:#FFF7D6;
  color:#8A670F;
}
.admin-job-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:120px;
}
.admin-empty{
  text-align:center;
  padding:42px 20px;
}
.admin-empty-mark{
  margin:0 auto 16px;
}
.admin-modal[hidden]{
  display:none;
}
.admin-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
}
.admin-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(16,24,40,.62);
  backdrop-filter:blur(3px);
}
.admin-modal-card{
  position:relative;
  width:min(820px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:0 30px 100px rgba(16,24,40,.28);
}
.admin-modal-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:22px;
}
.admin-modal-head h2{
  margin:6px 0 0;
  font-size:32px;
}
.admin-modal-close{
  width:40px;
  height:40px;
  border:1px solid #E4E7EC;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  font-size:25px;
  line-height:1;
}
.admin-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.admin-form-row-3{
  grid-template-columns:1fr 1fr 1fr;
}
.admin-job-form small{
  color:#98A2B3;
  font-weight:500;
}
.admin-switch-row{
  flex-direction:row !important;
  align-items:center;
  gap:10px !important;
}
.admin-switch-row input{
  width:auto !important;
}
.admin-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}
.admin-modal-open{
  overflow:hidden;
}
@media(max-width:820px){
  .admin-heading,
  .admin-panel-head,
  .admin-job-card{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-stats{
    grid-template-columns:1fr;
  }
  .admin-form-row,
  .admin-form-row-3{
    grid-template-columns:1fr;
  }
  .admin-job-actions{
    width:auto;
    flex-direction:row;
    flex-wrap:wrap;
  }
}
@media(max-width:620px){
  .admin-topbar-title{
    display:none;
  }
  .admin-public-link{
    display:none;
  }
  .admin-login-card{
    padding:24px;
  }
  .admin-modal-card{
    padding:20px;
  }
}


/* ===== V12.2 : états connexion / tableau de bord ===== */
.admin-login-section[hidden],
.admin-dashboard[hidden],
.admin-logout[hidden] {
  display: none !important;
}


.admin-job-tags .admin-job-tag-more{
  background:#F2F4F7;
  color:#475467;
  font-weight:900;
}


/* ===== V13 : GESTION DES CANDIDATURES ===== */
.candidate-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.candidate-success{
  color:#027A48 !important;
  font-weight:700;
}
.candidate-error{
  color:#B42318 !important;
  font-weight:700;
}
.admin-tabs{
  display:flex;
  gap:8px;
  padding:6px;
  width:max-content;
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:14px;
}
.admin-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#475467;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.admin-tab.active{
  background:#1C2E46;
  color:#fff;
}
.admin-tab-badge{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#D4AF37;
  color:#111827;
  font-size:11px;
}
.admin-heading-candidates{
  margin-top:6px;
}
.admin-candidate-stats{
  grid-template-columns:repeat(5,1fr);
}
.candidate-admin-tools{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.candidate-admin-tools input,
.candidate-admin-tools select{
  min-width:210px;
  padding:11px 12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.applications-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.application-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:17px;
  background:#FCFCFD;
}
.application-card-main{
  flex:1;
  min-width:0;
}
.application-card-title{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.application-card-title h3{
  margin:7px 0 0;
  font-size:20px;
}
.application-date{
  color:#98A2B3;
  font-size:12px;
  white-space:nowrap;
}
.candidate-status{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.status-nouveau{
  background:#EFF8FF;
  color:#175CD3;
}
.status-a-contacter{
  background:#FFF7D6;
  color:#8A670F;
}
.status-entretien{
  background:#F4F3FF;
  color:#5925DC;
}
.status-retenu{
  background:#ECFDF3;
  color:#027A48;
}
.status-rejete{
  background:#FEF3F2;
  color:#B42318;
}
.application-meta,
.application-contact{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.application-meta span{
  padding:6px 8px;
  background:#F2F4F7;
  border-radius:8px;
  color:#475467;
  font-size:12px;
}
.application-contact span{
  color:#667085;
  font-size:13px;
}
.application-open-btn{
  white-space:nowrap;
}
.application-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.application-detail-grid>div{
  padding:14px;
  border:1px solid #E4E7EC;
  border-radius:12px;
  background:#FCFCFD;
}
.application-detail-grid span,
.application-profile-note>span{
  display:block;
  color:#667085;
  font-size:12px;
  font-weight:800;
  margin-bottom:5px;
}
.application-detail-grid strong{
  display:block;
  color:#101828;
}
.application-profile-note{
  margin-top:14px;
  padding:16px;
  border-radius:14px;
  background:#F8F9FB;
  border:1px solid #E4E7EC;
}
.application-profile-note p{
  margin:0;
  white-space:pre-wrap;
  color:#344054;
}
.application-status-editor{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #E4E7EC;
}
.application-status-editor label{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:13px;
  font-weight:800;
}
.application-status-editor select{
  padding:12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
@media(max-width:900px){
  .admin-candidate-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .application-card{
    flex-direction:column;
    align-items:stretch;
  }
  .application-detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .admin-tabs{
    width:100%;
  }
  .admin-tab{
    flex:1;
    justify-content:center;
  }
  .admin-candidate-stats{
    grid-template-columns:1fr;
  }
  .candidate-admin-tools{
    width:100%;
  }
  .candidate-admin-tools input,
  .candidate-admin-tools select{
    width:100%;
    min-width:0;
  }
  .application-card-title{
    flex-direction:column;
  }
  .application-status-editor{
    flex-direction:column;
    align-items:stretch;
  }
}


/* ===== V14 : SUIVI RECRUTEMENT ===== */
.candidate-heading-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.recruitment-tracking{
  margin-top:22px;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#FCFCFD;
}
.recruitment-tracking-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
}
.recruitment-tracking-head h3{
  margin:5px 0 0;
  font-size:21px;
}
.private-badge{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#F2F4F7;
  color:#475467;
  font-size:11px;
  font-weight:900;
}
.recruitment-tracking .application-status-editor{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.recruitment-dates{
  margin-top:12px !important;
}
.recruitment-tracking input,
.recruitment-tracking textarea{
  width:100%;
  padding:12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  color:#101828;
  font:inherit;
}
.application-internal-notes{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:14px;
  font-size:13px;
  font-weight:800;
}
.application-internal-notes small{
  color:#98A2B3;
  font-weight:500;
}
.recruitment-save-btn{
  margin-top:14px;
}
.score-chip{
  background:#ECFDF3 !important;
  color:#027A48 !important;
}
.followup-chip{
  background:#FFF7D6 !important;
  color:#8A670F !important;
}
@media(max-width:620px){
  .candidate-heading-actions{
    width:100%;
    flex-direction:column;
  }
  .candidate-heading-actions button{
    width:100%;
  }
}


/* ===== V15 : TABLEAU DE BORD RH ===== */
.rh-dashboard-heading{
  margin-top:6px;
}
.rh-kpis{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.rh-kpi-card{
  padding:20px;
  background:#fff;
  border:1px solid #E4E7EC;
  border-radius:17px;
}
.rh-kpi-card span,
.rh-kpi-card small{
  display:block;
}
.rh-kpi-card span{
  color:#667085;
  font-size:12px;
  font-weight:900;
}
.rh-kpi-card strong{
  display:block;
  margin:7px 0 2px;
  font-size:31px;
  color:#101828;
}
.rh-kpi-card small{
  color:#98A2B3;
  font-size:11px;
}
.rh-dashboard-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.rh-pipeline,
.rh-jobs-breakdown,
.rh-task-list,
.rh-alerts{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.rh-pipeline-row{
  display:grid;
  grid-template-columns:130px 1fr 42px;
  align-items:center;
  gap:10px;
}
.rh-pipeline-label{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:13px;
}
.rh-pipeline-label strong{
  color:#101828;
}
.rh-pipeline-track,
.rh-job-track{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:#F2F4F7;
}
.rh-pipeline-fill,
.rh-job-fill{
  height:100%;
  min-width:0;
  border-radius:999px;
  background:#D4AF37;
}
.rh-pipeline-nouveau{ background:#2E90FA; }
.rh-pipeline-a-contacter{ background:#D4AF37; }
.rh-pipeline-entretien{ background:#7A5AF8; }
.rh-pipeline-retenu{ background:#12B76A; }
.rh-pipeline-rejete{ background:#F04438; }
.rh-pipeline-row small{
  color:#667085;
  text-align:right;
}
.rh-job-row{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.rh-job-row-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}
.rh-job-fill{
  background:#1C2E46;
}
.rh-task-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  width:100%;
  padding:13px 14px;
  border:1px solid #E4E7EC;
  border-radius:12px;
  background:#FCFCFD;
  color:#101828;
  text-align:left;
  cursor:pointer;
}
.rh-task-item:hover{
  border-color:#D4AF37;
}
.rh-task-item>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.rh-task-item span{
  color:#667085;
  font-size:12px;
}
.rh-task-item time{
  color:#475467;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.rh-task-item.is-overdue{
  border-color:#FECDCA;
  background:#FFFBFA;
}
.rh-task-item.is-overdue time{
  color:#B42318;
}
.rh-empty-mini{
  padding:20px;
  border:1px dashed #D0D5DD;
  border-radius:12px;
  color:#667085;
  text-align:center;
}
.rh-alert{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:14px 16px;
  border-radius:12px;
}
.rh-alert strong{
  color:#101828;
}
.rh-alert span{
  color:#667085;
  font-size:13px;
}
.rh-alert-info{ background:#EFF8FF; }
.rh-alert-warning{ background:#FFFAEB; }
.rh-alert-danger{ background:#FEF3F2; }
.rh-alert-success{ background:#ECFDF3; }

@media(max-width:1050px){
  .rh-kpis{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:820px){
  .rh-dashboard-grid{
    grid-template-columns:1fr;
  }
  .rh-kpis{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:620px){
  .rh-kpis{
    grid-template-columns:1fr;
  }
  .rh-pipeline-row{
    grid-template-columns:105px 1fr 34px;
  }
  .rh-alert{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ===== V16 : AUJOURD'HUI / ACTIONS RH ===== */
.today-heading{
  margin-top:6px;
}
.today-kpis{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.today-kpi-card{
  padding:19px;
  border:1px solid #E4E7EC;
  border-radius:17px;
  background:#fff;
  border-top-width:4px;
}
.today-kpi-card span,
.today-kpi-card small{
  display:block;
}
.today-kpi-card span{
  font-size:12px;
  color:#667085;
  font-weight:900;
}
.today-kpi-card strong{
  display:block;
  margin:7px 0 2px;
  font-size:31px;
}
.today-kpi-card small{
  color:#98A2B3;
  font-size:11px;
}
.today-kpi-card.danger{border-top-color:#F04438}
.today-kpi-card.warning{border-top-color:#D4AF37}
.today-kpi-card.primary{border-top-color:#7A5AF8}
.today-kpi-card.info{border-top-color:#2E90FA}
.today-kpi-card.neutral{border-top-color:#667085}

.today-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.today-action-list,
.today-upcoming-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.today-action-item{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:12px;
  width:100%;
  padding:13px;
  border:1px solid #E4E7EC;
  border-radius:13px;
  background:#FCFCFD;
  text-align:left;
  cursor:pointer;
}
.today-action-item:hover{
  border-color:#D4AF37;
  transform:translateY(-1px);
}
.today-action-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#F2F4F7;
  color:#344054;
  font-weight:900;
}
.today-action-item.danger .today-action-icon{
  background:#FEF3F2;
  color:#B42318;
}
.today-action-item.warning .today-action-icon{
  background:#FFFAEB;
  color:#8A670F;
}
.today-action-item.primary .today-action-icon{
  background:#F4F3FF;
  color:#5925DC;
}
.today-action-item.info .today-action-icon{
  background:#EFF8FF;
  color:#175CD3;
}
.today-action-main{
  min-width:0;
}
.today-action-top{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.today-action-type{
  padding:4px 7px;
  border-radius:999px;
  background:#F2F4F7;
  color:#667085;
  font-size:10px !important;
  font-weight:900;
}
.today-action-main>span{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:12px;
}
.today-action-item time{
  color:#475467;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.today-empty{
  padding:22px;
  border:1px dashed #D0D5DD;
  border-radius:12px;
  color:#667085;
  text-align:center;
  background:#FCFCFD;
}
@media(max-width:1100px){
  .today-kpis{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:820px){
  .today-grid{
    grid-template-columns:1fr;
  }
  .today-kpis{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:620px){
  .today-kpis{
    grid-template-columns:1fr;
  }
  .today-action-item{
    grid-template-columns:38px 1fr;
  }
  .today-action-item time{
    grid-column:2;
  }
}


/* ===== V17 : COMPTE RENDU D'ENTRETIEN ===== */
.interview-report{
  margin-top:18px;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#FFFFFF;
}
.interview-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.interview-report label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:14px;
  font-size:13px;
  font-weight:800;
}
.interview-report input,
.interview-report select,
.interview-report textarea{
  width:100%;
  padding:12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  color:#101828;
  font:inherit;
}
.interview-report input:focus,
.interview-report select:focus,
.interview-report textarea:focus{
  outline:none;
  border-color:#D4AF37;
  box-shadow:0 0 0 3px rgba(212,175,55,.12);
}
.decision-chip{
  padding:4px 7px;
  border-radius:999px;
  font-size:11px !important;
  font-weight:900;
}
.decision-chip.recommendation{
  background:#F4F3FF;
  color:#5925DC !important;
}
.decision-chip.decision{
  background:#ECFDF3;
  color:#027A48 !important;
}
@media(max-width:720px){
  .interview-grid{
    grid-template-columns:1fr;
  }
}


/* ===== V17.1 : COMPTE RENDU VISIBLE ===== */
.saved-interview-report{
  margin-top:18px;
  padding:18px;
  border:1px solid #D4AF37;
  border-radius:14px;
  background:#FFFDF5;
}
.saved-report-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.saved-report-head h3{
  margin:5px 0 0;
  font-size:20px;
}
.saved-report-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.saved-report-grid>div,
.saved-report-summary{
  padding:13px;
  border:1px solid #E4E7EC;
  border-radius:11px;
  background:#fff;
}
.saved-report-grid span,
.saved-report-summary span{
  display:block;
  color:#667085;
  font-size:12px;
  font-weight:800;
  margin-bottom:5px;
}
.saved-report-grid p,
.saved-report-summary p{
  margin:0;
  white-space:pre-wrap;
  color:#101828;
}
.saved-report-summary{
  margin-top:12px;
}
@media(max-width:720px){
  .saved-report-grid{
    grid-template-columns:1fr;
  }
  .saved-report-head{
    flex-direction:column;
  }
}


/* ===== V18 : FICHE CANDIDAT PDF ===== */
.candidate-pdf-btn{
  border-color:#D4AF37 !important;
  color:#8A670F !important;
  background:#FFFDF5 !important;
}
.candidate-pdf-btn:hover{
  background:#FFF7D6 !important;
}


/* ===== V19 : CLIENTS & MISSIONS ===== */
.admin-tabs{
  flex-wrap:wrap;
}
.admin-mission-stats{
  grid-template-columns:repeat(4,1fr);
}
.crm-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.crm-card{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:17px;
  background:#FCFCFD;
}
.crm-card-main{
  flex:1;
  min-width:0;
}
.crm-card-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.crm-card-head h3{
  margin:7px 0 0;
  font-size:21px;
}
.crm-status{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.client-prospect{background:#FFF7D6;color:#8A670F}
.client-actif{background:#ECFDF3;color:#027A48}
.client-inactif{background:#F2F4F7;color:#667085}
.mission-ouverte{background:#EFF8FF;color:#175CD3}
.mission-en-cours{background:#F4F3FF;color:#5925DC}
.mission-cloturee{background:#ECFDF3;color:#027A48}
.mission-annulee{background:#FEF3F2;color:#B42318}
.crm-count{
  color:#667085;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.crm-card-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:120px;
}
.mission-client-name{
  margin-top:8px;
  color:#344054;
  font-weight:800;
}
.mission-fee{
  margin-top:10px;
  color:#8A670F;
  font-weight:800;
}
.candidate-mission-link{
  margin-top:16px;
  padding:16px;
  border:1px solid #E4E7EC;
  border-radius:13px;
  background:#fff;
}
.candidate-mission-link label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:13px;
  font-weight:800;
}
.candidate-mission-link select{
  width:100%;
  padding:12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.candidate-mission-link small{
  display:block;
  margin-top:7px;
  color:#667085;
}
@media(max-width:850px){
  .admin-mission-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .crm-card{
    flex-direction:column;
    align-items:stretch;
  }
  .crm-card-actions{
    flex-direction:row;
  }
  .crm-card-actions button{
    flex:1;
  }
}
@media(max-width:620px){
  .admin-mission-stats{
    grid-template-columns:1fr;
  }
}


/* ===== V20 : FICHE CLIENT COMPLÈTE ===== */
.admin-primary-outline-btn{
  border:1px solid #D4AF37;
  border-radius:10px;
  padding:11px 15px;
  background:#FFFDF5;
  color:#8A670F;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.admin-primary-outline-btn:hover{
  background:#FFF7D6;
}
.client-detail-modal-card{
  width:min(960px,calc(100vw - 32px));
  max-height:92vh;
  overflow:auto;
}
.client-detail-hero{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#FCFCFD;
}
.client-detail-hero h3{
  margin:8px 0 3px;
  font-size:26px;
}
.client-detail-hero p{
  margin:0;
  color:#667085;
}
.client-detail-value{
  min-width:210px;
  padding:14px;
  border-radius:13px;
  background:#FFF7D6;
}
.client-detail-value span{
  display:block;
  color:#8A670F;
  font-size:11px;
  font-weight:800;
}
.client-detail-value strong{
  display:block;
  margin-top:5px;
  font-size:22px;
  color:#8A670F;
}
.client-detail-kpis{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-top:14px;
}
.client-detail-kpis article{
  padding:14px;
  border:1px solid #E4E7EC;
  border-radius:13px;
  background:#fff;
}
.client-detail-kpis span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.client-detail-kpis strong{
  display:block;
  margin-top:4px;
  font-size:22px;
}
.client-detail-section{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #E4E7EC;
}
.client-detail-section-head{
  margin-bottom:12px;
}
.client-detail-section-head h3{
  margin:4px 0 0;
  font-size:20px;
}
.client-notes-box{
  margin-top:12px;
  padding:13px;
  border:1px solid #E4E7EC;
  border-radius:11px;
  background:#FCFCFD;
}
.client-notes-box span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.client-notes-box p{
  margin:6px 0 0;
  white-space:pre-wrap;
}
.client-detail-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.client-detail-row,
.client-candidate-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:13px;
  border:1px solid #E4E7EC;
  border-radius:12px;
  background:#FCFCFD;
}
.client-detail-row>div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.client-detail-row strong{
  font-size:15px;
}
.client-detail-row small,
.client-candidate-row small{
  color:#667085;
}
.client-detail-row-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  color:#475467;
  font-size:11px;
}
.client-candidate-row{
  width:100%;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.client-candidate-row:hover{
  border-color:#D4AF37;
}
.client-candidate-row>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.client-detail-actions{
  flex-wrap:wrap;
}
.is-disabled{
  pointer-events:none;
  opacity:.45;
}
@media(max-width:820px){
  .client-detail-kpis{
    grid-template-columns:repeat(2,1fr);
  }
  .client-detail-hero{
    flex-direction:column;
  }
  .client-detail-value{
    width:100%;
  }
  .client-detail-row,
  .client-candidate-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .client-detail-row-meta{
    align-items:flex-start;
  }
}
@media(max-width:560px){
  .client-detail-kpis{
    grid-template-columns:1fr;
  }
}


/* ===== V21 : FICHE MISSION COMPLÈTE ===== */
.mission-detail-modal-card{width:min(980px,calc(100vw - 32px));max-height:92vh;overflow:auto}
.mission-detail-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border:1px solid #E4E7EC;border-radius:16px;background:#FCFCFD}
.mission-detail-hero h3{margin:8px 0 3px;font-size:26px}.mission-detail-hero p{margin:0;color:#667085}
.mission-detail-value{min-width:210px;padding:14px;border-radius:13px;background:#FFF7D6}.mission-detail-value span{display:block;color:#8A670F;font-size:11px;font-weight:800}.mission-detail-value strong{display:block;margin-top:5px;font-size:22px;color:#8A670F}
.mission-detail-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}.mission-detail-kpis article{padding:14px;border:1px solid #E4E7EC;border-radius:13px;background:#fff}.mission-detail-kpis span{display:block;color:#667085;font-size:10px;font-weight:800}.mission-detail-kpis strong{display:block;margin-top:4px;font-size:22px}
.mission-coverage-card{margin-top:14px;padding:16px;border:1px solid #E4E7EC;border-radius:13px;background:#fff}.mission-coverage-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.mission-coverage-head>div{display:flex;flex-direction:column;gap:2px}.mission-coverage-head span{color:#667085;font-size:11px;font-weight:800}.mission-coverage-head strong{font-size:16px}.mission-deadline-state{padding:6px 9px;border-radius:999px;background:#EFF8FF;color:#175CD3!important}.mission-deadline-state.is-late{background:#FEF3F2;color:#B42318!important}.mission-coverage-track{height:10px;border-radius:999px;background:#F2F4F7;overflow:hidden;margin-top:12px}.mission-coverage-fill{height:100%;background:#D4AF37;border-radius:999px}
.mission-detail-section{margin-top:18px;padding-top:18px;border-top:1px solid #E4E7EC}.mission-detail-section h3{margin:4px 0 12px;font-size:20px}
.mission-candidate-list{display:flex;flex-direction:column;gap:9px}.mission-candidate-row{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border:1px solid #E4E7EC;border-radius:12px;background:#FCFCFD;text-align:left;font:inherit;cursor:pointer}.mission-candidate-row:hover{border-color:#D4AF37}.mission-candidate-row>div:first-child{display:flex;flex-direction:column;gap:3px}.mission-candidate-row small{color:#667085}.mission-candidate-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:#667085;font-size:11px}
.mission-card-progress{display:flex;gap:10px;align-items:center;margin-top:9px;color:#667085;font-size:11px}.mission-card-progress strong{color:#8A670F}
.mission-detail-actions{flex-wrap:wrap}
@media(max-width:950px){.mission-detail-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.mission-detail-hero{flex-direction:column}.mission-detail-value{width:100%}.mission-detail-kpis{grid-template-columns:repeat(2,1fr)}.mission-candidate-row{flex-direction:column;align-items:flex-start}.mission-candidate-meta{justify-content:flex-start}}
@media(max-width:480px){.mission-detail-kpis{grid-template-columns:1fr}}


/* ===== V22 SPARK : SUIVI CV SANS STORAGE ===== */
.cv-tracking-panel{
  margin-top:18px;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#FFFFFF;
}
.cv-tracking-panel label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:14px;
  font-size:13px;
  font-weight:800;
}
.cv-tracking-panel input,
.cv-tracking-panel select,
.cv-tracking-panel textarea{
  width:100%;
  padding:12px;
  border:1px solid #D0D5DD;
  border-radius:10px;
  background:#fff;
  color:#101828;
  font:inherit;
}
.cv-status-chip{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  font-size:11px !important;
  font-weight:900;
}
.cv-a-recevoir{background:#FFF7D6;color:#8A670F !important}
.cv-recu-whatsapp{background:#EFF8FF;color:#175CD3 !important}
.cv-verifie{background:#ECFDF3;color:#027A48 !important}
.cv-manquant{background:#FEF3F2;color:#B42318 !important}


/* ===== V23 : PIPELINE RECRUTEMENT COMPLET ===== */
.status-preselectionne{
  background:#F2F4F7;
  color:#344054;
}
.status-second-entretien{
  background:#F4F3FF;
  color:#5925DC;
}
.status-place{
  background:#ECFDF3;
  color:#027A48;
  border:1px solid #ABEFC6;
}
.status-vivier{
  background:#EFF8FF;
  color:#175CD3;
}

.rh-pipeline-preselectionne{ background:#98A2B3; }
.rh-pipeline-second-entretien{ background:#9B8AFB; }
.rh-pipeline-place{ background:#039855; }
.rh-pipeline-vivier{ background:#1570EF; }

@media(max-width:1100px){
  .admin-candidate-stats{
    grid-template-columns:repeat(3,1fr);
  }
}


/* ===== V24 : PILOTAGE COMMERCIAL & ENCAISSEMENTS ===== */
.admin-client-stats{grid-template-columns:repeat(5,1fr)}
.client-followup-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border-radius:9px;background:#F9FAFB;color:#667085;font-size:11px}
.client-followup-line strong{color:#344054}.client-followup-line.is-due{background:#FEF3F2;color:#B42318}.client-followup-line.is-due strong{color:#B42318}
.client-detail-value small{display:block;margin-top:5px;color:#8A670F;font-weight:700}.text-danger{color:#B42318!important}
.commercial-next-action{border-color:#F6D98A;background:#FFFDF5}
.mission-finance-line{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;color:#667085;font-size:11px}.mission-finance-line strong{color:#8A670F}
.mission-finance-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mission-finance-kpis article{padding:13px;border:1px solid #E4E7EC;border-radius:12px;background:#fff}.mission-finance-kpis span{display:block;color:#667085;font-size:10px;font-weight:800}.mission-finance-kpis strong{display:block;margin-top:4px;font-size:16px;color:#1C2E46}
.mission-collection-track{height:10px;margin-top:10px;border-radius:999px;background:#F2F4F7;overflow:hidden}.mission-collection-fill{height:100%;background:#039855;border-radius:999px}
@media(max-width:1050px){.admin-client-stats{grid-template-columns:repeat(3,1fr)}.mission-finance-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.admin-client-stats,.mission-finance-kpis{grid-template-columns:1fr}}


/* ===== V25 : TABLEAU DE BORD DIRECTION ===== */
.direction-heading{
  margin-bottom:18px;
}
.direction-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.direction-kpi{
  padding:17px;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#fff;
  min-width:0;
}
.direction-kpi span,
.direction-finance-summary span,
.direction-recruitment-stats span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.direction-kpi strong{
  display:block;
  margin-top:8px;
  color:#102A4C;
  font-size:22px;
  line-height:1.12;
  overflow-wrap:anywhere;
}
.direction-kpi small{
  display:block;
  margin-top:7px;
  color:#98A2B3;
}
.direction-kpi.gold{
  background:#FFFAEB;
  border-color:#FEDF89;
}
.direction-kpi.gold strong{color:#8A670F}
.direction-kpi.success{
  border-top:4px solid #12B76A;
}
.direction-kpi.warning{
  border-top:4px solid #F79009;
}
.direction-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.direction-finance-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:20px;
}
.direction-finance-summary>div,
.direction-recruitment-stats article{
  padding:13px;
  border:1px solid #EAECF0;
  border-radius:12px;
  background:#FCFCFD;
}
.direction-finance-summary strong,
.direction-recruitment-stats strong{
  display:block;
  margin-top:4px;
  font-size:18px;
  color:#102A4C;
}
.direction-progress-block{
  margin-top:15px;
}
.direction-progress-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
  color:#475467;
  font-size:12px;
}
.direction-progress-track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#EAECF0;
}
.direction-progress-fill{
  width:0;
  height:100%;
  border-radius:999px;
  transition:width .25s ease;
}
.direction-progress-fill.gold{background:#D4AF37}
.direction-progress-fill.green{background:#12B76A}
.direction-progress-fill.navy{background:#1C2E46}
.direction-recruitment-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.direction-coverage{
  margin-top:18px;
  padding:14px;
  border-radius:13px;
  background:#F8FAFC;
}
.direction-coverage>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.direction-coverage>div:first-child span{
  color:#475467;
  font-weight:700;
}
.direction-coverage>div:first-child strong{
  color:#102A4C;
  font-size:20px;
}
.direction-coverage small{
  display:block;
  margin-top:7px;
  color:#667085;
}
.direction-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.direction-list-row{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:13px;
  border:1px solid #E4E7EC;
  border-radius:12px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.direction-list-row:hover{
  border-color:#D4AF37;
  background:#FFFDF5;
}
.direction-list-row>div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.direction-list-row strong{
  color:#102A4C;
}
.direction-list-row small,
.direction-list-row span{
  color:#667085;
  font-size:11px;
}
.direction-row-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  flex:0 0 auto;
}
.direction-urgency{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  font-weight:900;
}
.direction-urgency.future{background:#EFF8FF;color:#175CD3}
.direction-urgency.today{background:#FFFAEB;color:#B54708}
.direction-urgency.overdue{background:#FEF3F2;color:#B42318}
.direction-attention-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.direction-alert{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px;
  border-radius:12px;
  border:1px solid #E4E7EC;
}
.direction-alert strong{color:#102A4C}
.direction-alert span{color:#667085;font-size:12px}
.direction-alert.danger{background:#FEF3F2;border-color:#FECDCA}
.direction-alert.warning{background:#FFFAEB;border-color:#FEDF89}
.direction-alert.info{background:#EFF8FF;border-color:#B2DDFF}
.direction-empty{
  padding:22px;
  text-align:center;
  color:#667085;
  border:1px dashed #D0D5DD;
  border-radius:12px;
}
.direction-empty.success{
  color:#027A48;
  background:#ECFDF3;
  border-color:#ABEFC6;
}
@media(max-width:1180px){
  .direction-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:850px){
  .direction-grid{grid-template-columns:1fr}
  .direction-attention-list{grid-template-columns:1fr}
}
@media(max-width:650px){
  .direction-kpis{grid-template-columns:repeat(2,1fr)}
  .direction-finance-summary{grid-template-columns:1fr}
  .direction-list-row{flex-direction:column;align-items:flex-start}
  .direction-row-right{align-items:flex-start}
}
@media(max-width:430px){
  .direction-kpis{grid-template-columns:1fr}
  .direction-recruitment-stats{grid-template-columns:1fr}
}


/* ===== V26 : FINALISATION & PRÉ-PRODUCTION ===== */
.production-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.production-status-card{
  padding:16px;
  border:1px solid #E4E7EC;
  border-radius:15px;
  background:#fff;
}
.production-status-card span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.production-status-card strong{
  display:block;
  margin-top:8px;
  color:#102A4C;
  font-size:22px;
}
.production-status-card small{
  display:block;
  margin-top:6px;
  color:#98A2B3;
}
.production-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.production-checklist{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.production-checklist label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:11px 12px;
  border:1px solid #EAECF0;
  border-radius:10px;
  background:#FCFCFD;
  cursor:pointer;
}
.production-checklist input{
  margin-top:2px;
  accent-color:#D4AF37;
}
.production-progress-wrap{
  margin-top:18px;
}
.production-progress-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
  color:#475467;
  font-size:12px;
}
.production-progress-track{
  height:10px;
  background:#EAECF0;
  border-radius:999px;
  overflow:hidden;
}
.production-progress-bar{
  width:0;
  height:100%;
  background:#D4AF37;
  border-radius:999px;
  transition:width .2s ease;
}
.production-contact-card{
  display:grid;
  gap:9px;
}
.production-contact-card>div{
  padding:13px;
  border:1px solid #EAECF0;
  border-radius:11px;
  background:#FCFCFD;
}
.production-contact-card span{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
  margin-bottom:3px;
}
.production-note{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:14px;
  padding:13px;
  border-radius:11px;
}
.production-note.warning{
  background:#FFFAEB;
  border:1px solid #FEDF89;
}
.production-note span{
  color:#667085;
  font-size:12px;
}
.production-test-list,
.production-tech-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.production-test-row{
  width:100%;
  display:grid;
  grid-template-columns:85px 1fr auto;
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid #E4E7EC;
  border-radius:10px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.production-test-row:hover{
  border-color:#D4AF37;
  background:#FFFDF5;
}
.production-test-type{
  display:inline-flex;
  justify-content:center;
  padding:4px 7px;
  border-radius:999px;
  background:#FFF7D6;
  color:#8A670F;
  font-size:10px;
  font-weight:900;
}
.production-test-row small{color:#667085}
.production-tech-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #E4E7EC;
  border-radius:10px;
}
.production-tech-row>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.production-tech-row small{color:#667085}
.production-tech-row>span{
  padding:4px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.production-tech-row.ok>span{
  background:#ECFDF3;
  color:#027A48;
}
.production-tech-row.error>span{
  background:#FEF3F2;
  color:#B42318;
}
.production-empty{
  padding:20px;
  border:1px dashed #D0D5DD;
  border-radius:10px;
  color:#667085;
  text-align:center;
}
.production-empty.success{
  background:#ECFDF3;
  border-color:#ABEFC6;
  color:#027A48;
}
.production-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.legal-page{
  padding:120px 0 70px;
  background:#F7F9FC;
  min-height:75vh;
}
.legal-container{
  max-width:900px;
}
.legal-container h1{
  margin:12px 0 10px;
  color:#102A4C;
  font-size:clamp(34px,5vw,52px);
}
.legal-lead{
  color:#667085;
  font-size:18px;
  margin-bottom:28px;
}
.legal-card{
  margin-bottom:14px;
  padding:20px;
  border:1px solid #E4E7EC;
  border-radius:14px;
  background:#fff;
}
.legal-card h2{
  margin:0 0 8px;
  color:#102A4C;
  font-size:20px;
}
.legal-card p{
  margin:0 0 8px;
  color:#475467;
  line-height:1.65;
}
.legal-card a{
  color:#8A670F;
  font-weight:800;
}
.legal-warning{
  margin-top:20px;
  padding:18px;
  border:1px solid #FEDF89;
  border-radius:13px;
  background:#FFFAEB;
}
.legal-warning p{
  margin:5px 0 0;
  color:#667085;
}
.footer-legal-links a{
  color:inherit;
}
.notfound-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:#F7F9FC;
}
.notfound-wrap{
  max-width:600px;
  padding:30px;
  text-align:center;
}
.notfound-logo{
  width:130px;
  margin-bottom:25px;
}
.notfound-wrap h1{
  color:#102A4C;
  font-size:42px;
  margin:12px 0;
}
.notfound-wrap p{
  color:#667085;
  margin-bottom:25px;
}

@media(max-width:1000px){
  .production-status-grid{grid-template-columns:repeat(2,1fr)}
  .production-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .admin-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:thin;
  }
  .admin-tab{
    flex:0 0 auto;
  }
  .admin-topbar-inner{
    gap:10px;
  }
}
@media(max-width:560px){
  .production-status-grid{grid-template-columns:1fr}
  .production-test-row{grid-template-columns:1fr}
  .legal-page{padding-top:100px}
  .legal-nav{display:flex}
}
