﻿:root{
  --ocean:#14324B;--ocean-2:#1E4665;--ink:#0E2336;
  --lagon:#1499C0;--lagon-d:#0E7699;--green:#3E9B53;
  --coral:#E2613A;--coral-d:#C44E2B;
  --bg:#F4F7F8;--bg2:#E7EEF0;--card:#fff;--txt:#16303F;--muted:#5C6B73;--line:#E2E9EB;
  --radius:18px;--shadow:0 10px 30px rgba(16,42,58,.08);--shadow-h:0 20px 50px rgba(16,42,58,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--txt);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand,.num{font-family:'Poppins',sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.eyebrow{color:var(--lagon-d);font-weight:700;letter-spacing:2.5px;text-transform:uppercase;font-size:12px}
h2.title{font-size:34px;font-weight:800;margin:8px 0 10px;letter-spacing:-.5px;color:var(--ocean)}
.lead{color:var(--muted);max-width:600px;font-size:16px}
.center{text-align:center}.center .lead{margin:0 auto}
section{padding:76px 0}

/* HEADER */
.topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.3s}
.topbar .wrap{display:flex;align-items:center;gap:18px;height:72px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:22px;color:var(--ocean);cursor:pointer}
.brand .mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--coral),var(--lagon));display:grid;place-items:center;font-size:19px;box-shadow:0 6px 16px rgba(20,153,192,.35);overflow:hidden}
.mark img{width:100%;height:100%;object-fit:contain}
.mark.haslogo{background:none;box-shadow:none}
.brand small{font-weight:600;font-size:10.5px;color:var(--lagon-d);letter-spacing:2px;display:block;margin-top:-5px}
.topnav{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
.topnav a{color:var(--ocean);font-weight:600;font-size:14px;padding:9px 13px;border-radius:10px;cursor:pointer;transition:.18s}
.topnav a:hover{background:var(--bg2)}
.topnav a.active{color:var(--lagon-d)}
.btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:12px;padding:13px 22px;font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;transition:.2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(226,97,58,.32)}
.btn-primary:hover{background:var(--coral-d);transform:translateY(-2px);box-shadow:0 12px 26px rgba(226,97,58,.4)}
.btn-lagon{background:var(--lagon);color:#fff;box-shadow:0 8px 20px rgba(20,153,192,.3)}
.btn-lagon:hover{background:var(--lagon-d);transform:translateY(-2px)}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ocean)}
.btn-ghost:hover{border-color:var(--lagon);color:var(--lagon-d);transform:translateY(-2px)}
.btn-light{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-light:hover{background:rgba(255,255,255,.28)}
.btn-sm{padding:9px 15px;font-size:13px;border-radius:10px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.cgu-box{max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:12.5px;color:var(--muted);background:var(--bg);line-height:1.55}
.cgu-box h4{font-size:13px;color:var(--ocean);margin:10px 0 4px}
.cgu-box h4:first-child{margin-top:0}

/* VIEWS */
.view{display:none}
.view.active{display:block;animation:viewin .45s cubic-bezier(.2,.7,.3,1)}
@keyframes viewin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(26px);transition:.7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

/* HERO */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(100deg,rgba(14,35,54,.96) 0%,rgba(14,35,54,.85) 38%,rgba(14,35,54,.45) 66%,rgba(14,35,54,.12) 100%),url('assets/hero-reunion.png') center right/cover no-repeat,linear-gradient(160deg,var(--ocean),var(--ink))}
.hero .wrap{padding:104px 22px 96px;position:relative;z-index:2}
.htext{max-width:600px}
.hero h1{font-size:52px;line-height:1.05;font-weight:800;letter-spacing:-1.5px}
.hero h1 .hl{background:linear-gradient(120deg,var(--coral),var(--lagon));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#dbe6ee;margin:20px 0 28px;font-size:18px;max-width:500px}
.searchbar{display:flex;background:#fff;border-radius:16px;padding:8px;box-shadow:var(--shadow-h);max-width:500px;gap:6px}
.searchbar input{flex:1;border:0;outline:0;font:inherit;font-size:15px;padding:13px 15px;color:var(--txt);background:transparent}
.searchbar .btn{border-radius:11px}
.hero-stats{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hstat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 18px;backdrop-filter:blur(8px)}
.hstat b{font-size:24px;font-family:'Poppins';display:block;line-height:1}
.hstat span{font-size:12.5px;color:#bcccd6}

/* TRUST */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;padding:22px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ocean)}
.chip .dot{width:9px;height:9px;border-radius:50%;background:var(--green)}
.chip+.chip{padding-left:12px;border-left:1px solid var(--line)}

/* STEPS */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.step{background:var(--card);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);transition:.25s;border:1px solid var(--line)}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow-h)}
.step .num{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--coral),var(--lagon));color:#fff;font-weight:800;font-size:22px;display:grid;place-items:center;margin-bottom:16px}
.step h3{font-size:19px;margin-bottom:8px;color:var(--ocean)}
.step p{color:var(--muted);font-size:14.5px}

/* FEATURES */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.fcard{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid var(--line);transition:.25s;position:relative;overflow:hidden}
.fcard:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--lagon)}
.fcard:nth-child(3n+2):before{background:var(--coral)}
.fcard:nth-child(3n):before{background:var(--green)}
.fcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-h)}
.fcard .ic{font-size:30px;margin-bottom:12px}
.fcard h3{font-size:17px;margin-bottom:7px;color:var(--ocean)}
.fcard p{color:var(--muted);font-size:14px}

/* METIERS */
.metiers{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px;justify-content:center}
.metiers a,.metiers span{background:#fff;border:1px solid var(--line);border-radius:30px;padding:11px 18px;font-size:14px;font-weight:600;color:var(--ocean);box-shadow:var(--shadow);cursor:pointer;transition:.18s}
.metiers a:hover,.metiers span:hover{background:var(--coral);color:#fff;border-color:var(--coral);transform:translateY(-2px)}
.metier-vignettes{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:30px;text-align:left}
.metier-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;min-height:146px;color:var(--ocean);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;transition:.18s}
.metier-card:before{content:"";position:absolute;right:-24px;top:-28px;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,rgba(20,153,192,.16),rgba(255,126,89,.18));transition:.18s}
.metier-card:hover{transform:translateY(-4px);border-color:rgba(20,153,192,.45);box-shadow:var(--shadow-h)}
.metier-card:hover:before{transform:scale(1.18)}
.metier-ic{width:46px;height:46px;border-radius:15px;background:var(--bg2);display:grid;place-items:center;font-size:24px;margin-bottom:12px}
.metier-card h3{font-size:15px;line-height:1.25;margin:0 0 8px;position:relative;z-index:1}
.metier-card small{color:var(--muted);font-size:11.5px;font-weight:700;line-height:1.3;position:relative;z-index:1}

/* AVIS on home */
.sec-bg{background:linear-gradient(180deg,#fff,var(--bg2))}
.avis-tabs{display:flex;gap:8px;justify-content:center;margin:26px 0 24px}
.avis-tabs button{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:11px 22px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;color:var(--muted);transition:.18s}
.avis-tabs button.active{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.avis-summary{display:flex;gap:16px;justify-content:center;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.avis-summary .score{font-size:40px;font-family:'Poppins';color:var(--ocean);line-height:1}
.avis-summary .stars{color:#f4a118;font-size:17px}
.avis-block{display:none}.avis-block.active{display:block}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.avis-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;border:1px solid var(--line);transition:.25s}
.avis-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-h)}
.avis-card .top{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.avis-card .av{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--lagon),var(--green));display:grid;place-items:center;color:#fff;font-weight:700}
.avis-card .nm{font-weight:700;font-size:14px;color:var(--ocean)}
.avis-card .meta{font-size:12px;color:var(--muted)}
.avis-card .stars{color:#f4a118;font-size:14px}
.avis-card p{font-size:14px;margin-top:4px}
.avis-card .reply{background:var(--bg);border-radius:12px;padding:10px 12px;margin-top:10px;font-size:13px;color:var(--muted)}
.avis-card .reply b{color:var(--green)}
.verifmini{display:inline-flex;align-items:center;gap:4px;background:#e9f4ec;color:var(--green);font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;margin-top:8px}

/* SOLIDAIRE banner */
.sol-banner{display:block;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-h);cursor:pointer;transition:.25s}
.sol-banner:hover{transform:translateY(-4px)}
.sol-banner img{width:100%;height:auto}
.sol-banner-fallback{display:none}
.sol-banner.noimg{background:linear-gradient(160deg,var(--green),#1f5a39);color:#fff;padding:44px}
.sol-banner.noimg .sol-banner-fallback{display:block}
.sol-banner.noimg h2{font-size:30px;margin-bottom:10px;color:#fff}
.sol-banner.noimg p{color:#dff0e6;margin-bottom:18px;max-width:560px}
.solid-card{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}
.solid-card img{border-radius:22px;box-shadow:var(--shadow-h);width:100%;height:auto}
.solid-card h2{font-size:34px;color:var(--ocean);margin:8px 0 10px}
.solid-card p{color:var(--muted);margin-bottom:18px}
.banner-img{width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow-h)}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--ocean),var(--lagon-d));border-radius:26px;padding:54px;text-align:center;color:#fff;box-shadow:var(--shadow-h)}
.cta-band h2{font-size:30px;margin-bottom:8px;color:#fff}
.cta-band p{color:#cfe2ec;margin-bottom:22px}
/* PROJETS sur l'accueil */
.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;text-align:left}
.proj.clickable{cursor:pointer}
.locked{position:relative;background:var(--bg);border:1.5px dashed #c2d2da;border-radius:14px;padding:18px;margin:18px 0}
.locked .lockbadge{position:absolute;top:14px;right:16px;font-size:12px;font-weight:700;color:var(--muted)}
.locked .blur{filter:blur(5px);user-select:none;color:var(--muted);font-size:14px}
.unlock-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow)}

/* FOOTER */
footer{background:var(--ink);color:#9fb2bf;padding:54px 0 30px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px}
footer h4{color:#fff;font-size:14px;margin-bottom:13px}
footer a{display:block;font-size:13.5px;margin-bottom:8px;color:#9fb2bf;cursor:pointer;transition:.15s}
footer a:hover{color:var(--lagon);padding-left:3px}
.footer-brand{align-items:flex-start}
.footer-brand .mark{width:118px;height:78px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:none;padding:7px}
.footer-brand .mark.haslogo{background:rgba(255,255,255,.96);box-shadow:none}
.footer-brand .mark img{width:100%;height:100%;object-fit:contain}
.footer-brand small{color:#9fd4e6}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:20px;font-size:12.5px;text-align:center}

/* PAGE HEADER (sub-pages) */
.page-head{background:linear-gradient(120deg,var(--ocean),var(--ink));color:#fff;padding:60px 0 64px}
.page-head h1{font-size:38px;letter-spacing:-1px}
.page-head p{color:#cfe0ea;margin-top:8px;max-width:600px}
.publier-hero{position:relative;background:#fff;padding:0;overflow:hidden;color:#fff}
.publier-hero-img{display:block;width:100%;max-width:1681px;height:auto;margin:0 auto}
.publier-hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;padding-top:54px;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.34)}
.publier-hero-copy h1{font-size:38px;color:#fff}
.publier-hero-copy p{color:#eef8fc;max-width:520px}
.page-body{padding:50px 0}

/* LOGIN */
.login-shell{min-height:74vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--ocean),var(--ink));padding:50px 22px}
.login-card{background:#fff;border-radius:24px;box-shadow:var(--shadow-h);padding:40px;width:100%;max-width:420px;animation:viewin .5s}
.login-card .logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px;font-family:'Poppins';font-weight:800;font-size:20px;color:var(--ocean)}
.login-card h2{text-align:center;font-size:22px;color:var(--ocean);margin-bottom:4px}
.login-card .sub{text-align:center;color:var(--muted);font-size:14px;margin-bottom:22px}
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ocean)}
.field input,.field textarea,.field select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit;font-size:14px;color:var(--txt);background:#fff;transition:.18s}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--lagon);box-shadow:0 0 0 3px rgba(20,153,192,.15)}
.field textarea{min-height:92px;resize:vertical}
.field .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.login-foot{text-align:center;margin-top:16px;font-size:13.5px;color:var(--muted)}
.login-foot a{color:var(--lagon-d);font-weight:700;cursor:pointer}

/* DASHBOARD (espace pro / back office) */
.app{display:grid;grid-template-columns:248px 1fr;min-height:80vh}
.side{background:var(--ocean);color:#c3d2dc;padding:24px 16px}
.side .who{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.07);border-radius:15px;padding:12px;margin-bottom:18px}
.side .who .av{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--coral),var(--green));display:grid;place-items:center;color:#fff;font-weight:700}
.side .who b{color:#fff;font-size:14px;display:block}
.side .who span{font-size:11.5px;color:var(--lagon)}
.side nav{display:flex;flex-direction:column;gap:3px}
.side nav button{display:flex;align-items:center;gap:11px;background:transparent;border:0;color:#c3d2dc;font:inherit;font-size:14px;font-weight:600;padding:12px 13px;border-radius:11px;cursor:pointer;text-align:left;width:100%;transition:.15s}
.side nav button:hover{background:rgba(255,255,255,.08);color:#fff}
.side nav button.active{background:var(--coral);color:#fff}
.side .wallet{margin-top:18px;background:linear-gradient(135deg,var(--lagon),var(--lagon-d));border-radius:15px;padding:16px;color:#fff}
.side .wallet span{font-size:12px;font-weight:600;opacity:.9}
.side .wallet b{font-size:27px;font-family:'Poppins';display:block}
.side .wallet button{margin-top:8px;width:100%;border:0;background:#fff;color:var(--lagon-d);border-radius:9px;padding:9px;font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}
.side .logout{margin-top:16px;color:#9fb2bf;font-size:13px;cursor:pointer;text-align:center;padding:8px}
.side .logout:hover{color:#fff}
.panel{padding:30px 32px;background:var(--bg)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.panel-head h2{font-size:25px;color:var(--ocean)}
.panel-head p{color:var(--muted);font-size:14px}
.subview{display:none}.subview.active{display:block;animation:viewin .35s}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.filters select{border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:10px 13px;font:inherit;font-size:13.5px;color:var(--txt)}
.proj{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:var(--shadow);margin-bottom:14px;border-left:5px solid var(--lagon);transition:.2s;border:1px solid var(--line);border-left-width:5px}
.proj:hover{box-shadow:var(--shadow-h);transform:translateX(3px)}
.proj.urgent{border-left-color:var(--coral)}
.proj h3{font-size:17px;color:var(--ocean)}
.proj .meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--bg2);color:var(--ocean)}
.tag.cat{background:#e4f4f8;color:var(--lagon-d)}
.tag.zone{background:#e9f4ec;color:var(--green)}
.tag.bud{background:#fdece6;color:var(--coral-d)}
.tag.urg{background:var(--coral);color:#fff}
.proj p.desc{color:var(--muted);font-size:14px;margin-bottom:12px}
.proj .row2{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;flex-wrap:wrap;gap:10px}
.proj .price{font-size:13px;color:var(--muted)}
.proj .price b{color:var(--coral);font-size:18px;font-family:'Poppins'}
.lead-actions{display:flex;gap:8px}
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.switch{width:46px;height:25px;border-radius:20px;background:var(--bg2);position:relative;cursor:pointer;transition:.2s;flex-shrink:0}
.switch.on{background:var(--lagon)}
.switch::after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch.on::after{left:24px}
.card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px;border:1px solid var(--line)}
.card h3{font-size:16px;margin-bottom:14px;color:var(--ocean);display:flex;justify-content:space-between;align-items:center}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--line)}
.kpi span{font-size:12.5px;color:var(--muted);font-weight:600}
.kpi b{font-size:26px;font-family:'Poppins';display:block;margin-top:4px;color:var(--ocean)}
.kpi.green b{color:var(--green)}.kpi.coral b{color:var(--coral)}.kpi.teal b{color:var(--lagon-d)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
th,td{text-align:left;padding:13px 16px;font-size:13.5px;border-bottom:1px solid var(--line)}
th{background:var(--ocean);color:#fff;font-weight:600;font-size:12.5px}
tr:last-child td{border-bottom:0}
.badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px}
.badge.win{background:#e9f4ec;color:var(--green)}
.badge.pend{background:#fff3e0;color:#b8810f}
.badge.refund{background:#fdece6;color:var(--coral-d)}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.tier{border:1.5px solid var(--line);border-radius:14px;padding:18px;text-align:center}
.tier b{font-size:13px;color:var(--muted);display:block}
.tier .p{font-size:27px;font-family:'Poppins';color:var(--coral);margin:6px 0}
.tier small{color:var(--muted);font-size:12px}
.pay-methods{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.pay-methods span{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);border-radius:11px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--ocean)}
.mod-item{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.mod-item:last-child{border-bottom:0}
.mod-item .l{display:flex;gap:11px;align-items:center}
.mini-av{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--lagon),var(--green));display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}
.act button{border:0;border-radius:8px;padding:6px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;margin-left:6px}
.act .ok{background:#e9f4ec;color:var(--green)}.act .no{background:#fdece6;color:var(--coral-d)}
.bar{height:9px;border-radius:6px;background:var(--bg2);overflow:hidden;margin:5px 0 12px}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--lagon),var(--coral))}
.period-tabs{display:flex;gap:6px}
.period-tabs button{border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:.15s}
.period-tabs button.active{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.chartbars{display:flex;align-items:flex-end;gap:10px;height:150px;margin-top:14px}
.chartbars .cb{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.chartbars .cb i{width:100%;max-width:36px;background:linear-gradient(180deg,var(--lagon),var(--green));border-radius:7px 7px 0 0;display:block;transition:.3s}
.chartbars .cb span{font-size:11px;color:var(--muted)}
.chartbars .cb{position:relative;cursor:pointer}
.chartbars .cb i{animation:growbar .6s cubic-bezier(.2,.8,.3,1) both}
@keyframes growbar{from{height:0 !important;opacity:.4}to{opacity:1}}
.cb-tip{position:absolute;bottom:108%;left:50%;transform:translateX(-50%) translateY(8px) scale(.92);background:var(--ocean);color:#fff;border-radius:11px;padding:9px 12px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:.22s cubic-bezier(.2,.8,.3,1);box-shadow:var(--shadow-h);text-align:center;z-index:6}
.cb-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ocean)}
.cb-tip b{display:block;font-family:'Poppins';font-size:15px;margin-bottom:2px}
.chartbars .cb:hover .cb-tip{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
.chartbars .cb:hover i{filter:brightness(1.12);box-shadow:0 -6px 18px rgba(20,153,192,.45)}
.trend{font-weight:700;font-size:12.5px}
.trend.up{color:#86efac}
.trend.down{color:#fca58a}
.livedot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;margin-right:7px;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(62,155,83,.55)}70%{box-shadow:0 0 0 9px rgba(62,155,83,0)}100%{box-shadow:0 0 0 0 rgba(62,155,83,0)}}
.delta{font-size:12px;font-weight:700;margin-top:3px}
.delta.up{color:var(--green)}.delta.down{color:var(--coral-d)}
.feed{display:flex;flex-direction:column;max-height:296px;overflow:auto}
.feed-item{display:flex;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13.5px;animation:fadein .45s ease}
.feed-item:last-child{border-bottom:0}
.feed-item .fi-ic{width:30px;height:30px;border-radius:9px;background:var(--bg2);display:grid;place-items:center;flex-shrink:0;font-size:14px}
.feed-item .fi-t{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
@keyframes fadein{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.todo-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.todo-row:last-child{border-bottom:0}
.todo-row .cnt{margin-left:auto;font-weight:800;font-family:'Poppins';font-size:18px}
.support-fab{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;background:var(--coral);color:#fff;border:0;font-size:26px;cursor:pointer;box-shadow:var(--shadow-h);z-index:90;display:grid;place-items:center;transition:.2s}
.support-fab:hover{transform:scale(1.07)}
.support-panel{position:fixed;right:22px;bottom:94px;width:340px;max-width:calc(100vw - 44px);background:#fff;border-radius:18px;box-shadow:var(--shadow-h);z-index:90;overflow:hidden;display:none}
.support-panel.open{display:block;animation:viewin .3s}
.support-head{background:linear-gradient(120deg,var(--ocean),var(--lagon-d));color:#fff;padding:16px 18px}
.support-head b{font-size:15px}
.support-head span{font-size:12px;color:#d7e6ef;display:block;margin-top:2px}
.support-body{padding:16px 18px}
.support-body .field{margin-bottom:12px}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;border-radius:11px;padding:11px;font-weight:700;font-size:14px;margin-top:6px;cursor:pointer}

/* WIZARD */
.wizard{max-width:760px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:34px;border:1px solid var(--line)}
.steps-bar{display:flex;align-items:center;margin-bottom:28px}
.steps-bar .s{flex:1;text-align:center;position:relative}
.steps-bar .s .b{width:38px;height:38px;border-radius:50%;background:var(--bg2);color:var(--muted);display:grid;place-items:center;font-weight:800;font-family:'Poppins';margin:0 auto 6px;transition:.3s}
.steps-bar .s small{font-size:11.5px;color:var(--muted);font-weight:600}
.steps-bar .s.done .b,.steps-bar .s.active .b{background:var(--coral);color:#fff}
.steps-bar .s.active small{color:var(--coral)}
.steps-bar .s:not(:last-child):after{content:"";position:absolute;top:19px;left:60%;width:80%;height:3px;background:var(--bg2);z-index:-1}
.steps-bar .s.done:not(:last-child):after{background:var(--coral)}
.wzstep{display:none}.wzstep.active{display:block;animation:viewin .35s}
.wzstep h3{font-size:21px;margin-bottom:4px;color:var(--ocean)}
.wzstep>p.sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cat-grid .c{border:1.5px solid var(--line);border-radius:14px;padding:14px 8px;text-align:center;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--ocean);transition:.15s;background:#fff}
.cat-grid .c .ic{font-size:24px;display:block;margin-bottom:6px}
.cat-grid .c:hover{border-color:var(--lagon);transform:translateY(-2px)}
.cat-grid .c.sel{border-color:var(--coral);background:#fdece6;color:var(--coral-d)}
#cat-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#cat-cats .c{border:1.5px solid var(--line);border-radius:14px;padding:16px 8px;text-align:center;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--ocean);transition:.18s;background:#fff}
#cat-cats .c .ic{font-size:26px;display:block;margin-bottom:7px}
#cat-cats .c:hover{border-color:var(--lagon);transform:translateY(-3px);box-shadow:var(--shadow)}
#cat-cats .c.sel{border-color:var(--coral);background:#fdece6;color:var(--coral-d)}
.dropzone{border:2px dashed #c2d2da;border-radius:14px;padding:26px;text-align:center;color:var(--muted);font-size:13.5px;cursor:pointer;transition:.15s}
.dropzone:hover{border-color:var(--lagon);color:var(--lagon-d);background:#f3fafc}
.est-badge{background:linear-gradient(135deg,var(--lagon),var(--green));color:#fff;border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center}
.est-badge b{font-size:23px;font-family:'Poppins'}
.wz-nav{display:flex;justify-content:space-between;margin-top:26px;gap:10px}
.chk{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin-top:8px}
.chk input{margin-top:3px}
.success{text-align:center;padding:14px}
.success .big-ic{width:78px;height:78px;border-radius:50%;background:#e9f4ec;color:var(--green);font-size:40px;display:grid;place-items:center;margin:0 auto 14px}
.verif-list .vrow{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;font-size:13.5px;font-weight:600;color:var(--ocean)}

/* INSCRIPTION */
.register-page{background:linear-gradient(180deg,#f4f7f8,#eef3f5);padding:22px 0 42px}
.register-card{max-width:760px;border-radius:18px;padding:22px 24px 24px;border:1px solid #dce5e8;box-shadow:0 12px 28px rgba(14,35,54,.09)}
.register-error{margin-bottom:24px}
.register-layout{align-items:start}
.register-aside{position:sticky;top:92px}
.register-aside h3{font-size:24px;color:var(--ocean);margin-top:4px}
.register-checklist{display:grid;gap:12px;margin-top:20px}
.register-checklist div{display:grid;grid-template-columns:38px 1fr;gap:2px 12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.register-checklist span{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--coral),var(--lagon));display:grid;place-items:center;color:#fff;font-family:'Poppins';font-weight:800}
.register-checklist b{font-size:14px;color:var(--ocean)}
.register-checklist small{font-size:12.5px;color:var(--muted)}
.register-wizard h2{font-size:26px;color:var(--ocean);margin:12px 0 4px}
.register-wizard>.sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.register-steps{margin:0 auto 22px;max-width:560px;padding:0 8px}
.register-steps .s .b{width:28px;height:28px;font-size:12.5px;background:#eaf0f2;color:#566675;margin-bottom:5px;box-shadow:none}
.register-steps .s small{font-size:11px;line-height:1.15;color:#566675;font-family:'Poppins';font-weight:650}
.register-steps .s.active .b,.register-steps .s.done .b{background:var(--coral);color:#fff}
.register-steps .s.active small{color:var(--coral)}
.register-steps .s:not(:last-child):after{display:block;top:14px;left:62%;width:76%;height:1px;background:#e3ecef;z-index:0}
.register-steps .s.done:not(:last-child):after{background:rgba(231,111,81,.45)}
.register-steps .s .b,.register-steps .s small{position:relative;z-index:1}
.register-card .wzstep h3{font-size:20px;color:var(--ocean);margin-bottom:4px}
.register-card .wzstep>p.sub{font-size:13px;line-height:1.38;margin-bottom:14px}
.register-card .field{margin-bottom:11px}
.register-card .field label{font-size:13px;color:var(--ocean);font-weight:750;margin-bottom:5px}
.register-card input,.register-card select,.register-card textarea{border-radius:11px;border:1.2px solid #dfe6e9;min-height:38px;font-size:14px;padding:0 11px;color:var(--ocean)}
.register-card input[type="checkbox"]{width:18px;height:18px;min-height:auto;padding:0;flex-shrink:0}
.register-card input[type="file"]{min-height:auto;font-size:14px;padding:0}
.register-card select{appearance:auto;background:#fff}
.register-card textarea{padding-top:10px;min-height:68px}
.register-card input::placeholder{color:#7a7f87}
.register-nav{align-items:center}
.register-nav .btn-primary{font-size:14px;padding:11px 18px;border-radius:12px;box-shadow:0 10px 20px rgba(231,111,81,.18)}
.register-metier-groups{display:grid;gap:10px;max-height:260px;overflow:auto;padding-right:4px}
.register-metier-group>b{display:block;color:var(--ocean);font-size:12px;margin-bottom:6px}
.register-metier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pro-metier-card{border:1.1px solid var(--line);border-radius:10px;padding:7px 5px;text-align:center;cursor:pointer;font:inherit;font-size:10.8px;font-weight:600;color:var(--ocean);transition:.15s;background:#fff;display:block;min-height:52px}
.pro-metier-card input,.zone-card input{position:absolute;opacity:0;pointer-events:none}
.pro-metier-card .ic{font-size:16px;display:block;margin-bottom:3px}
.pro-metier-card:hover{border-color:var(--lagon);transform:translateY(-2px);box-shadow:var(--shadow)}
.pro-metier-card:has(input:checked),.pro-metier-card.sel{border-color:var(--coral);background:#fdece6;color:var(--coral-d);box-shadow:0 10px 22px rgba(231,111,81,.12)}
.zone-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.zone-card{position:relative;display:flex;gap:7px;align-items:center;border:1.1px solid var(--line);border-radius:11px;padding:8px 10px;background:linear-gradient(135deg,#fff,#f6fafb);cursor:pointer;transition:.18s;color:var(--ocean);min-height:46px;overflow:hidden}
.zone-card-all{grid-column:1/-1;min-height:44px;background:linear-gradient(135deg,#fff7f3,#e9f8fb);border-color:rgba(231,111,81,.24)}
.zone-card:before{content:"";position:absolute;inset:auto -24px -34px auto;width:74px;height:74px;border-radius:50%;background:rgba(20,153,192,.08);transition:.18s}
.zone-card:hover{border-color:var(--lagon);transform:translateY(-2px);box-shadow:var(--shadow)}
.zone-card:has(input:checked),.zone-card.sel{border-color:var(--lagon);background:linear-gradient(135deg,#e9f8fb,#fff7f3);box-shadow:0 12px 26px rgba(20,153,192,.16)}
.zone-card:has(input:checked):before,.zone-card.sel:before{background:rgba(231,111,81,.16)}
.zone-card .zone-ic{width:26px;height:26px;border-radius:8px;background:#eef6f8;display:grid;place-items:center;font-size:14px;flex-shrink:0}
.zone-card-all .zone-ic{background:var(--coral);color:#fff}
.zone-card:has(input:checked) .zone-ic,.zone-card.sel .zone-ic{background:var(--coral);color:#fff}
.zone-card>span:last-child{min-width:0}
.zone-card b{display:block;font-family:'Poppins';font-size:12.5px}
.zone-card-all b{font-size:13px}
.zone-card small{display:block;color:var(--muted);font-size:10px;margin-top:1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-stack{display:grid;gap:9px}
.upload-field{display:grid;gap:5px}
.upload-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--ocean);font-family:'Poppins'}
.upload-title b{font-size:13px}
.doc-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#eef3f5;color:#586673;font-size:10.5px;font-weight:800}
.doc-badge.required{background:#fff0df;color:#a87419}
.doc-badge.recommended{background:#eaf7ed;color:#4d9858}
.doc-badge.optional{background:#edf2f5;color:#60717d}
.upload-card{position:relative;min-height:48px;border:1.2px dashed #c2d2da;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;color:#66737d;font-size:12.8px;line-height:1.25;cursor:pointer;transition:.16s;padding:9px}
.upload-card input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-card:hover,.upload-card.has-file{border-color:var(--lagon);background:#f6fbfc;color:var(--ocean);box-shadow:0 8px 18px rgba(20,153,192,.10)}
.upload-card.has-file{border-style:solid}
.upload-card .doc-ic{font-size:14px;opacity:.8}
.doc-help{color:var(--muted);font-size:11.5px;line-height:1.3;margin:0}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.upload-card-small{min-height:46px}
.doc-alert{background:#fdece6;color:#b8502e;border-radius:14px;padding:11px 13px;font-weight:700;font-size:13px;line-height:1.4}
.terms-block{display:grid;gap:9px;margin-top:12px}
.terms-block h4{font-size:14px;color:var(--ocean);margin:0;font-family:'Poppins'}
.terms-scroll{max-height:110px;overflow:auto;border:1.1px solid #dfe6e9;border-radius:11px;background:#f8fafb;padding:10px 12px;color:#5f6c75;line-height:1.38;font-size:12.5px}
.terms-scroll h5{font-family:'Poppins';font-size:13px;color:var(--ocean);margin:0 0 5px}
.terms-scroll p{margin:0 0 9px}
.terms-check{display:flex;align-items:flex-start;gap:8px;color:#5f6c75;font-size:13px;line-height:1.35}
.terms-check b{color:var(--ocean)}
.lookup-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.lookup-row .btn{white-space:nowrap;height:38px;border-radius:11px;padding:0 13px;font-size:13px}
.lookup-status{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.35}
.lookup-status.ok{color:var(--green);font-weight:700}
.lookup-status.ko{color:var(--coral-d);font-weight:700}
.lookup-status.warn{color:#b8810f;font-weight:700}
.lookup-status.loading{color:var(--lagon-d);font-weight:700}
.detected-company{border:1px solid #d7eadc;background:#f4fbf6;border-radius:16px;padding:12px 16px;margin:4px 0 20px;color:var(--green)}
.detected-company span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;display:block}
.detected-company b{font-size:18px;color:var(--ocean);display:block;margin-top:2px}
.detected-company small{font-size:12.5px;color:var(--muted)}

/* SOLIDAIRE page */
.sol-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.sol-stats .s{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center;box-shadow:var(--shadow)}
.sol-stats .s b{font-size:34px;font-family:'Poppins';display:block;color:var(--green)}
.sol-stats .s span{font-size:12.5px;color:var(--muted)}
.partners{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.partners span{background:#fff;border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--ocean);box-shadow:var(--shadow)}
.sol-how{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}

@media(max-width:900px){
  .topnav .navlink{display:none}
  .grid3,.grid2,.feat,.kpi-row,.tiers,.cat-grid,.sol-how,.sol-stats,.avis-grid,.register-metier-grid{grid-template-columns:1fr 1fr}
  .solid-card{grid-template-columns:1fr}
  .app{grid-template-columns:1fr}
  .register-aside{position:static}
  .register-card{padding:20px 18px}
  .register-steps{margin-bottom:20px;max-width:520px}
  .register-steps .s .b{width:27px;height:27px;font-size:12px}
  .register-steps .s small{font-size:10.8px}
  .register-card .wzstep h3{font-size:19px}
  .register-card .wzstep>p.sub{font-size:13px}
  .register-card .field label{font-size:13px}
  .register-card input,.register-card select,.register-card textarea{font-size:14px;min-height:38px}
  .hero h1{font-size:36px}
  footer .wrap{grid-template-columns:1fr 1fr}
  h2.title{font-size:27px}
}
@media(max-width:560px){
  .grid3,.grid2,.feat,.kpi-row,.tiers,.cat-grid,.avis-grid,.field .row,.register-metier-grid,.zone-checks,.upload-grid{grid-template-columns:1fr}
  .register-page{padding:12px 0 30px}
  .register-card{border-radius:16px;padding:16px 12px}
  .register-steps{display:grid;grid-template-columns:1fr 1fr;gap:9px 6px;margin-bottom:16px}
  .register-steps .s .b{width:25px;height:25px;font-size:11px}
  .register-steps .s small{font-size:10.5px}
  .register-steps .s:not(:last-child):after{display:none}
  .register-nav{flex-direction:column-reverse;align-items:stretch}
  .register-nav .btn{width:100%}
  .metier-vignettes{grid-template-columns:1fr 1fr}
  .metier-card{min-height:132px;padding:15px}
  .footer-brand .mark{width:104px;height:70px}
  .solid-card{padding:16px}
  .lookup-row{grid-template-columns:1fr}
  .upload-card{min-height:46px;font-size:12.5px;padding:8px}
  .terms-scroll{max-height:105px;padding:9px 10px}
}
