:root{--bg:#fff7ef;--bg-soft:#fff2e6;--surface:hsla(0,0%,100%,.9);--surface-solid:#fff;--ink:#1f1a17;--ink-soft:#5f554e;--line:#e7d8cc;--line-strong:#d8c5b7;--brand:#de3b2f;--brand-strong:#b52b21;--brand-soft:#ffebe7;--accent:#ff9d3f;--success:#2f8f53;--danger:#c0392b;--warning:#c97a20;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-sm:0 10px 20px rgba(66,30,12,.06);--shadow-md:0 18px 34px rgba(66,30,12,.08);--shadow-lg:0 24px 48px rgba(66,30,12,.14);--font-sans:"Instrument Sans","Satoshi","Avenir Next","IBM Plex Sans","Segoe UI",sans-serif;--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua","Times New Roman",serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--ink);font-family:var(--font-sans);line-height:1.6;background:radial-gradient(1000px 360px at 10% -10%,rgba(255,157,63,.2),transparent 70%),radial-gradient(1200px 450px at 90% -15%,rgba(222,59,47,.18),transparent 68%),linear-gradient(180deg,var(--bg-soft) 0,var(--bg) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}::selection{background:rgba(222,59,47,.2);color:var(--ink)}button,input,select,textarea{font:inherit}.campaign-container{width:min(1180px,94vw);margin:0 auto;padding:26px 0 56px;display:grid;grid-gap:22px;gap:22px}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.nav{position:-webkit-sticky;position:sticky;top:14px;z-index:120;padding:16px 18px;display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:center;border-color:var(--line-strong)}.campaign-title{display:grid;grid-gap:2px;gap:2px}.title-kicker{margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--brand)}.campaign-title strong{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.46rem);line-height:1.1;letter-spacing:.01em}.campaign-subtitle{color:var(--ink-soft);font-size:.83rem;letter-spacing:.01em}.tab-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tab-btn{width:auto;border:1px solid transparent;background:transparent;color:var(--ink-soft);border-radius:999px;padding:9px 14px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.tab-btn:focus-visible,.tab-btn:hover{color:var(--ink);background:#fff;border-color:var(--line);outline:none}.tab-btn.active{color:#fff;border-color:transparent;background:linear-gradient(120deg,var(--brand) 0,var(--brand-strong) 100%);box-shadow:0 8px 16px rgba(181,43,33,.24)}.tab-content{display:grid;grid-gap:22px;gap:22px}.tab-content>*{animation:rise-in .48s cubic-bezier(.2,.7,0,1) both}.hero{position:relative;overflow:hidden;padding:clamp(28px,4vw,54px);background:linear-gradient(130deg,#fff,#fff6f2 36%,#ffe9db);border:1px solid #efcec0;box-shadow:var(--shadow-md)}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none;border-radius:999px;opacity:.35}.hero:before{width:340px;height:340px;right:-110px;top:-180px;background:radial-gradient(circle at 45% 45%,rgba(222,59,47,.8),transparent 66%)}.hero:after{width:260px;height:260px;right:-70px;bottom:-160px;background:radial-gradient(circle at 45% 45%,rgba(255,157,63,.9),transparent 67%)}.hero>*{position:relative;z-index:2}.hero .kicker{margin:0 0 12px;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-strong);font-weight:700}.hero h1{margin:0;max-width:17ch;font-family:var(--font-display);line-height:1.05;font-size:clamp(2rem,5.2vw,4rem);letter-spacing:.005em}.hero p{margin:14px 0 0;max-width:66ch;color:#4c433d;font-size:clamp(1rem,1.1vw,1.08rem)}.calibration-note{margin-top:16px;padding:12px 14px;border-radius:var(--radius-sm);border:1px dashed rgba(181,43,33,.4);background:hsla(0,0%,100%,.76);color:#664e42;font-size:.93rem}.calibration-note strong{color:var(--brand-strong)}.hero-cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.btn-ghost,.btn-primary{width:auto;border:1px solid transparent;border-radius:999px;padding:11px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease}.btn-primary{background:linear-gradient(120deg,var(--brand) 0,var(--brand-strong) 100%);color:#fff;box-shadow:0 10px 20px rgba(181,43,33,.24)}.highlight{font-weight:700;color:#b52b21}.btn-primary:focus-visible,.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 24px rgba(181,43,33,.3);outline:none}.btn-ghost{background:hsla(0,0%,100%,.92);border-color:#efcdc0;color:#44372f}.btn-ghost:focus-visible,.btn-ghost:hover{transform:translateY(-1px);border-color:#dfb8a6;outline:none}.hero-metrics{margin-top:22px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-metrics article{border-radius:var(--radius-md);padding:13px 14px;border:1px solid #efd3c6;background:hsla(0,0%,100%,.82)}.hero-metrics span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#695248;margin-bottom:4px}.hero-metrics strong{font-family:var(--font-display);font-size:1.35rem;color:var(--ink);line-height:1.1}h2,h3,h4,p{margin:0}h2{font-size:clamp(1.7rem,2.7vw,2.25rem);line-height:1.1;letter-spacing:.01em;margin-bottom:12px}h2,h3{font-family:var(--font-display)}h3{font-size:clamp(1.22rem,1.8vw,1.5rem);line-height:1.2;margin-bottom:8px}h4{font-size:1rem;line-height:1.25;margin-bottom:6px}p{color:var(--ink-soft)}.card>.bloc-grid,.card>.board-form,.card>.board-head,.card>.board-list,.card>.calibration-note,.card>.candidate-grid,.card>.engagement-grid,.card>.equipe-grid,.card>.evidence-grid,.card>.group-grid,.card>.priority-grid,.card>.section-intro,.card>.stats-grid,.card>h2,.card>h3{margin-left:clamp(18px,2.3vw,28px);margin-right:clamp(18px,2.3vw,28px)}.card>h2,.card>h3{margin-top:clamp(18px,2.3vw,28px)}.card>.section-intro{margin-bottom:16px;max-width:70ch}.section-intro{font-size:1.03rem}.bloc-grid,.candidate-grid,.engagement-grid,.equipe-grid,.evidence-grid,.group-grid,.priority-grid{display:grid;grid-gap:14px;gap:14px;margin-bottom:clamp(20px,2.2vw,28px)}.engagement-grid,.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bloc-grid,.candidate-grid,.evidence-grid,.group-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.bloc-chip,.candidate-card,.engagement-card,.equipe-info,.evidence-grid article,.group-card,.priority-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-solid);padding:16px;box-shadow:0 8px 14px rgba(66,30,12,.04)}.engagement-card h3,.equipe-info h3,.priority-card h3{color:#27211d}.candidate-card p,.engagement-card p,.equipe-info p,.evidence-grid p,.priority-card p{font-size:.94rem}.equipe-info{border-color:#ecd7cc;background:linear-gradient(145deg,#fff,#fff8f3)}.cta-panel{background:linear-gradient(145deg,#fff9f6,#ffede1);border-color:#efcebf;box-shadow:var(--shadow-md);padding-bottom:22px}.cta-panel .calibration-note,.cta-panel .hero-cta,.cta-panel h2,.cta-panel p{margin-left:clamp(18px,2.3vw,28px);margin-right:clamp(18px,2.3vw,28px)}.cta-panel .hero-cta{margin-top:20px;margin-bottom:8px}.contact-panel .contact-form,.contact-panel .contact-success{margin-left:clamp(18px,2.3vw,28px);margin-right:clamp(18px,2.3vw,28px)}.contact-form{margin-top:18px;display:grid;grid-gap:12px;gap:12px}.contact-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-field{display:grid;grid-gap:6px;gap:6px}.contact-field span{font-size:.79rem;text-transform:uppercase;letter-spacing:.07em;color:#5f4d45;font-weight:700}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.contact-actions button:disabled{opacity:.7;cursor:not-allowed}.contact-success{border:1px solid #e3c9ba;border-radius:10px;background:#fff;color:#4b3d37}.contact-error,.contact-success{margin-top:12px;padding:10px 12px;font-size:.9rem}.contact-error{border:1px solid #efc0b8;border-radius:10px;background:#fff5f2;color:#842e2e}.stats-tab{display:grid;grid-gap:22px;gap:22px}.stats-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px;margin-bottom:24px}.stat{border-radius:var(--radius-md);background:linear-gradient(135deg,#fff,#fff7f2);padding:14px;box-shadow:0 8px 14px rgba(66,30,12,.05);border:1px solid var(--line);border-top:4px solid var(--brand)}.stat span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6c5f56;margin-bottom:8px}.stat strong{color:var(--ink);font-family:var(--font-display);line-height:1;font-size:clamp(1.7rem,2.5vw,2.2rem)}.stat-present{border-top-color:var(--success)}.stat-absent{border-top-color:var(--danger)}.stat-procuration{border-top-color:var(--warning)}.evidence{border-color:#ebd6cc;background:linear-gradient(145deg,#fff,#fff8f3)}.evidence-grid article span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#726256;margin-bottom:8px}.evidence-grid article strong{color:#2e2622;font-size:.95rem;line-height:1.4}.bloc-chip,.group-card{display:flex;align-items:center;gap:10px}.bloc-chip strong,.group-card h4{margin:0;font-size:.95rem}.bloc-chip span,.group-card p{margin:0;font-size:.83rem;color:var(--ink-soft)}.dot{width:12px;height:12px;border-radius:999px;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 2px hsla(0,0%,100%,.8)}.candidate-card{border-width:1.5px}.candidate-name{font-size:1rem;font-weight:700;color:var(--ink)!important}.candidate-meta{margin-top:4px;font-size:.84rem}.candidate-rate{margin-top:8px;font-size:.9rem;font-weight:700;color:var(--brand-strong)!important}.grid{display:grid}.cards-grid{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 24px;padding:0 clamp(18px,2.3vw,28px)}.chart-card{min-height:420px;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;box-shadow:0 8px 16px rgba(66,30,12,.05);padding:16px}.chart-card h3{margin-bottom:10px;font-size:1.08rem}.chart-wrap{min-height:330px}.full-width{grid-column:1/-1}.footer-note{border-radius:var(--radius-md);background:#fff7f2;border:1px solid #ebd6cc;text-align:center;padding:14px}.footer-note p{font-size:.83rem}.board{padding-bottom:20px}.board-head{margin-top:18px;margin-bottom:14px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.board-head h3{margin:0}.board-head p{font-size:.86rem}.board-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:132px minmax(0,1fr) 160px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdfb;margin-bottom:14px}.board-form button,.board-form textarea{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 11px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#e4b8a1;box-shadow:0 0 0 3px rgba(222,59,47,.12);outline:none}.actions button,.board-form button{width:auto;border:1px solid transparent;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(120deg,var(--brand) 0,var(--brand-strong) 100%)}.actions button:hover,.board-form button:hover{filter:brightness(1.02)}.board-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.board-list li{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:14px;display:flex;justify-content:space-between;gap:14px}.board-list li.done{background:#fff6f2}.board-list li.done .item-title{text-decoration:line-through;color:#7a6660}.item-title{margin:0;color:var(--ink);font-weight:700}.item-title span{margin-right:7px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-strong)}.item-meta,.item-notes{margin-top:5px;font-size:.84rem}.actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:130px}.actions .danger{background:linear-gradient(120deg,#cf3f33,#ac2f25)}.empty{text-align:center;font-style:italic;color:#87786f;padding:26px 12px}.recharts-default-tooltip{border:1px solid var(--line)!important;border-radius:10px!important;background:hsla(0,0%,100%,.96)!important;box-shadow:var(--shadow-sm)!important}.recharts-legend-item-text{color:#4b413b!important}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1080px){.nav{grid-template-columns:1fr}.tab-nav{justify-content:flex-start}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid,.equipe-grid{grid-template-columns:1fr}.chart-card{min-height:370px}}@media (max-width:780px){.campaign-container{width:min(1200px,95vw);padding-top:16px;gap:14px}.nav{top:8px;border-radius:18px}.tab-btn{font-size:.82rem;padding:8px 12px}.hero{padding:24px 18px}.hero h1{max-width:100%}.hero-cta{flex-direction:column}.btn-ghost,.btn-primary{width:100%;justify-content:center}.hero-metrics{grid-template-columns:1fr}.equipe-photo{position:absolute;top:15px;right:15px;width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #eee}.bloc-grid,.board-form,.candidate-grid,.contact-grid,.engagement-grid,.evidence-grid,.group-grid,.priority-grid{grid-template-columns:1fr}.actions{align-items:stretch;min-width:100px}}@media (max-width:560px){.stats-grid{grid-template-columns:1fr}.card>.bloc-grid,.card>.board-form,.card>.board-head,.card>.board-list,.card>.calibration-note,.card>.candidate-grid,.card>.engagement-grid,.card>.equipe-grid,.card>.evidence-grid,.card>.group-grid,.card>.priority-grid,.card>.section-intro,.card>.stats-grid,.card>h2,.card>h3,.cards-grid,.contact-panel .contact-form,.contact-panel .contact-success,.cta-panel .calibration-note,.cta-panel .hero-cta,.cta-panel h2,.cta-panel p{margin-left:14px;margin-right:14px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}