:root{--n:#063b67;--n2:#052f50;--b:#087bb9;--g:#279b37;--g2:#37b94b;--bg:#f4f8fa;--line:#dbe7ed;--text:#17384d;--muted:#657986;--white:#fff;--shadow:0 18px 50px rgba(6,59,103,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Segoe UI,Inter,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}a{text-decoration:none;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:9px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.green{background:var(--g);color:#fff;box-shadow:0 8px 22px rgba(39,155,55,.22)}.p{background:var(--n);color:#fff;box-shadow:0 8px 22px rgba(6,59,103,.18)}.o{border-color:var(--n);color:var(--n);background:#fff}.nav{height:78px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.nav img{height:55px}.nav a{margin-left:18px;font-weight:700;color:var(--n)}.landing{display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center;padding:78px 7%;background:linear-gradient(135deg,#f8fbfd,#eef8f1);position:relative;overflow:hidden}.landing:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-260px;top:-280px;background:rgba(39,155,55,.08)}.landing>div{position:relative;z-index:1}.landing h1{font-size:clamp(42px,5vw,62px);line-height:1.02;color:var(--n);margin:17px 0}.landing h1 span{color:var(--g)}.landing p{font-size:18px;color:var(--muted);max-width:680px}.badge{display:inline-block;background:#e6f2f8;color:var(--n);padding:7px 11px;border-radius:20px;font-size:11px;font-weight:900;letter-spacing:.08em}.actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.landing-img{position:relative}.landing-img img{width:100%;height:440px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.floating{position:absolute;left:-20px;bottom:20px;background:#fff;border:1px solid var(--line);padding:17px;border-radius:14px;box-shadow:var(--shadow);width:270px}.floating b{color:var(--n);font-size:18px}.floating small{color:var(--muted)}.hero-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.hero-badges span{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:9px;color:var(--n);font-weight:800;font-size:12px;box-shadow:0 4px 15px rgba(6,59,103,.05)}.hero-badges i{color:var(--g);font-style:normal;margin-right:5px}.showcase{padding:65px 7%;background:#fff}.showcase-box{max-width:1240px;margin:auto;border-radius:25px;overflow:hidden;box-shadow:0 22px 60px rgba(6,59,103,.15);border:1px solid var(--line)}.showcase-box img{display:block;width:100%;height:auto}.section{padding:72px 7%;background:#fff}.gray{background:var(--bg)}.head{text-align:center;max-width:780px;margin:0 auto 35px}.head h2{font-size:35px;line-height:1.15;color:var(--n);margin:0 0 10px}.head p{color:var(--muted)}.three,.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.three article,.modules div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;box-shadow:0 6px 20px rgba(6,59,103,.04)}.three article{transition:.2s}.three article:hover,.modules div:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.three b{color:var(--n);font-size:20px}.three p{color:var(--muted);font-size:14px}.modules div{font-weight:800;color:var(--n)}.section-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(100deg,var(--g),#208b32);color:#fff;border-radius:22px;padding:35px;box-shadow:var(--shadow)}.section-cta h2{margin:0;font-size:29px}.section-cta p{margin:6px 0 0;opacity:.92}.section-cta .btn{background:#fff;color:var(--n)}footer{background:var(--n2);color:#d5e4eb;padding:38px 7%}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.foot-grid h3{color:#fff}.foot-grid p,.foot-grid a{font-size:13px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:24px;padding-top:14px;display:flex;justify-content:space-between;font-size:12px}
.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eaf7ee,#f4f8fa);padding:25px;position:relative;overflow:hidden}.auth:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-280px;top:-260px;background:rgba(8,123,185,.08)}.authbox{width:min(455px,94%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow);position:relative;z-index:1}.authlogo{width:230px;height:auto;display:block;margin:0 auto 8px}.authbox h1{text-align:center;color:var(--n);margin:5px 0 22px}.authbox:after{content:"Des solutions numériques au service des organisations locales, pour un impact durable.";display:block;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;text-align:center;color:var(--muted)}.authbox label,.formgrid label{display:block;font-size:13px;font-weight:700;color:var(--n);margin:10px 0}.authbox input,.formgrid input,.formgrid select{width:100%;padding:11px;border:1px solid #cfdde4;border-radius:7px;margin-top:5px;background:#fff}.authbox input:focus,.formgrid input:focus,.formgrid select:focus{outline:2px solid rgba(39,155,55,.16);border-color:var(--g)}.authbox .btn{width:100%;margin-top:15px}.flash{padding:12px;border-radius:8px;margin-bottom:15px;background:#e8f6eb;color:#176728}.flash.err{background:#fdebea;color:#9d211b}
aside{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,#fff,#f7fbfd);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;box-shadow:5px 0 25px rgba(6,59,103,.04);z-index:10}aside img{width:210px;height:auto;margin:0 auto 18px}aside:after{content:"JENTIEL FinLog · v1.2";font-size:10px;color:var(--muted);text-align:center;margin-top:12px}aside nav{display:flex;flex-direction:column;gap:4px}aside nav a{padding:10px 11px;border-radius:8px;color:var(--n);font-size:13px;font-weight:650}aside nav a:hover{background:#edf7f0;color:var(--g);transform:translateX(2px)}.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.sidefoot a{font-size:13px;color:#b22b25}.main{margin-left:250px;min-height:100vh}.top{height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;position:sticky;top:0;z-index:8;backdrop-filter:blur(10px)}.top>div{display:flex;align-items:center;gap:8px}.top small{display:block;color:var(--muted);margin-left:8px}.content{padding:30px;max-width:1500px;margin:auto}.content>h1{color:var(--n);margin-top:0}.hero-small{background:linear-gradient(120deg,#eef8f1,#f5fbfd);padding:26px;border-radius:17px;border:1px solid var(--line);position:relative;overflow:hidden}.hero-small:after{content:"";position:absolute;right:-70px;top:-90px;width:220px;height:220px;border-radius:50%;background:rgba(39,155,55,.08)}.hero-small h1{margin:8px 0 3px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.kpi{background:#fff;border:1px solid var(--line);padding:20px;border-radius:13px;box-shadow:0 6px 18px rgba(6,59,103,.05)}.kpi small,.kpi span{display:block;color:var(--muted)}.kpi b{display:block;color:var(--n);font-size:25px;margin:8px 0}.kpi.green b{color:var(--g)}.kpi.orange b{color:#e48a12}.kpi.purple b{color:#6d45b5}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin:18px 0;box-shadow:0 6px 20px rgba(6,59,103,.045)}.panel h2{margin-top:0;color:var(--n)}.quick{display:flex;gap:10px;flex-wrap:wrap}.quick a{background:#edf7f0;color:var(--g);padding:10px 13px;border-radius:7px;font-weight:800}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.formgrid .wide{grid-column:1/-1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--n);background:#f5f9fb}.subscription{padding:20px;border:1px solid var(--line);border-radius:12px}.subscription strong{font-size:24px;color:var(--n)}.status{margin-left:12px;background:#e8f6eb;color:#176728;padding:5px 9px;border-radius:20px;font-size:12px;font-weight:800}.dashboard-visual{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.dashboard-visual img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(6,59,103,.08)}.dashboard-callout{background:linear-gradient(135deg,var(--n),#0b5b86);color:#fff;border-radius:16px;padding:25px}.dashboard-callout h2{color:#fff}.dashboard-callout p{color:#d5e7f0}.dashboard-callout .mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.dashboard-callout .mini div{background:#ffffff12;border:1px solid #ffffff20;border-radius:10px;padding:12px}.dashboard-callout .mini b{display:block;font-size:20px}.dashboard-callout .mini small{color:#c6dbe6}
@media(max-width:1000px){aside{position:static;width:auto;height:auto}.main{margin-left:0}.cards,.modules,.three,.formgrid{grid-template-columns:1fr 1fr}.landing{grid-template-columns:1fr}.dashboard-visual{grid-template-columns:1fr}.nav a:not(.btn){display:none}.landing h1{font-size:47px}}@media(max-width:600px){.cards,.modules,.three,.formgrid,.foot-grid{grid-template-columns:1fr}.nav{padding:0 4%}.landing{padding:50px 5%}.landing h1{font-size:40px}.content{padding:18px}.section{padding:58px 5%}.showcase{padding:45px 5%}.section-cta{display:block}.section-cta .btn{margin-top:17px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.hero-badges{gap:6px}}

/* JENTIEL FinLog v1.2 — refined homepage without the previous top-right hero image */
.landing-clean{grid-template-columns:1.08fr .92fr;min-height:560px}
.landing-copy{max-width:760px}
.hero-insights{position:relative;min-height:430px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center;padding:28px}
.hero-insights:before{content:"";position:absolute;inset:10px;border-radius:32px;background:radial-gradient(circle at 50% 45%,rgba(39,155,55,.15),transparent 52%),linear-gradient(145deg,#ffffffc9,#edf7f2b8);border:1px solid #dbe7ed;box-shadow:0 20px 55px rgba(6,59,103,.10)}
.insight-card{position:relative;z-index:1;border-radius:16px;padding:19px;min-height:135px;box-shadow:0 12px 28px rgba(6,59,103,.10);border:1px solid rgba(255,255,255,.7);display:flex;flex-direction:column;justify-content:space-between}
.insight-card strong{font-size:16px;color:var(--n)}.insight-card span{font-size:12px;color:var(--muted);line-height:1.45}.insight-card b{font-size:20px;color:var(--n);margin-top:7px}
.insight-card.blue{background:linear-gradient(145deg,#e8f4fb,#fff)}.insight-card.green-card{background:linear-gradient(145deg,#e8f7eb,#fff)}.insight-card.white-card{background:#fff}.insight-card.blue-light{background:linear-gradient(145deg,#eef2fb,#fff)}
.hero-orbit{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:105px;height:105px;border-radius:50%;background:linear-gradient(145deg,var(--n),#0a5a86);border:8px solid #fff;box-shadow:0 15px 35px rgba(6,59,103,.22);display:grid;place-content:center;text-align:center;color:#fff;font-weight:900;font-size:13px;line-height:1.05}.hero-orbit span{color:#5bd56a;font-size:19px}
@media(max-width:1000px){.landing-clean{grid-template-columns:1fr}.hero-insights{margin-top:10px}.landing-img{display:none}}
@media(max-width:600px){.hero-insights{grid-template-columns:1fr;min-height:auto;padding:15px}.hero-insights:before{inset:0}.insight-card{min-height:115px}.hero-orbit{width:85px;height:85px}.insight-card b{font-size:17px}}

/* FinLog v1.3 visual system */
:root{--navy:#102e65;--blue:#1769d2;--green:#0c9b50;--mint:#e9f8ef;--ink:#182b49;--muted:#6c7b91;--line:#e5ebf3;--soft:#f5f8fc}
body{background:#f4f7fb;color:var(--ink)}
aside{background:linear-gradient(180deg,#10326c 0%,#0a2350 100%);box-shadow:8px 0 30px #173a6810}
aside nav a{border-radius:12px;margin:3px 10px;padding:11px 12px;transition:.18s ease;color:#e8f0ff}aside nav a:hover,aside nav a:focus{background:#ffffff1b;transform:translateX(2px)}
.main{background:#f5f8fc}.top{background:#ffffffed;border-bottom:1px solid #e7edf5;backdrop-filter:blur(10px);padding:18px 28px}.content{max-width:1600px;margin:auto;padding:26px 30px 48px}.content>h1{font-size:27px;letter-spacing:-.7px;color:#122e5d;margin:0 0 22px}
.panel{background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:22px;box-shadow:0 8px 26px #173b6810;margin:18px 0}.panel h2{font-size:17px;color:#153465;letter-spacing:-.2px;margin:0 0 10px}.panel p{color:#6a7b92;line-height:1.55}.cards{gap:16px;margin:18px 0}.kpi{border:1px solid #e5ebf5;border-radius:18px;box-shadow:0 7px 22px #123b700d;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#ffffff48;right:-32px;top:-35px}.kpi b{font-size:27px;letter-spacing:-.8px}.kpi small{color:#667894;font-weight:700}.kpi span{color:#74849a}.btn{border-radius:11px;font-weight:700;padding:11px 16px;box-shadow:0 5px 12px #113c7212;cursor:pointer}.btn.green{background:linear-gradient(135deg,#0b9e51,#0c8548)}.btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.formgrid{gap:16px}.formgrid label{font-size:12px;font-weight:700;color:#435777;display:flex;flex-direction:column;gap:7px}.formgrid input,.formgrid select,.formgrid textarea,input,select,textarea{border:1px solid #dbe4f0;border-radius:10px;padding:11px 12px;background:#fbfdff;color:#172c4c;outline:none;max-width:100%}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus{border-color:#4b91eb;box-shadow:0 0 0 3px #1769d216;background:#fff}.formgrid .wide{grid-column:1/-1}
.tablewrap{overflow:auto;border:1px solid #e7edf5;border-radius:12px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}thead th{background:#f3f7fc;color:#526580;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:13px 14px;white-space:nowrap;border-bottom:1px solid #e1e9f3}tbody td{padding:13px 14px;border-bottom:1px solid #edf1f7;color:#344967}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbff}.flash{border-radius:12px;padding:13px 16px}.badge,.status-pill{border-radius:100px;padding:5px 10px;background:#e7f7ed;color:#087b3d;font-weight:700;font-size:11px}
.analytics-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin:18px 0}.chart-panel{margin:0;min-width:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-head h2{margin-bottom:4px}.panel-head p{font-size:12px;margin:0}.live-pill{font-size:10px;background:#e8f8ef;color:#13854a;border-radius:99px;padding:7px 10px;white-space:nowrap}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#5d6f89;margin:22px 0 10px}.progress-label b{font-size:18px;color:#123c7a}.progress,.tiny-progress{height:10px;border-radius:100px;background:#edf2f8;overflow:hidden}.progress span,.tiny-progress span{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,#1472db,#0ba95b)}.chart-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px;color:#667894;font-size:11px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.blue-dot{background:#2375d8}.green-dot{background:#13a45b}.orange-dot{background:#f4a12e}.chart-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.chart-summary>div{background:#f6f9fd;border:1px solid #edf1f7;padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:5px}.chart-summary small{font-size:11px;color:#74849a}.chart-summary b{font-size:18px;color:#15376e}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:25px;min-height:170px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#2375d8 0 var(--spent),#13a45b var(--spent) 100%);display:grid;place-items:center;flex-shrink:0;position:relative}.donut:before{content:"";position:absolute;inset:15px;border-radius:50%;background:white}.donut>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.donut b{font-size:24px;color:#173c78}.donut small{font-size:10px;color:#75849a}.donut-key{display:flex;flex-direction:column;gap:13px;font-size:11px;color:#697a92;min-width:130px}.donut-key span{display:flex;align-items:center;flex-wrap:wrap}.donut-key b{margin-left:auto;color:#193a6d}.tiny-progress{height:6px;min-width:75px;margin-bottom:4px}.muted{font-size:11px;color:#7c8ba0}.quick{display:flex;flex-wrap:wrap;gap:10px}.quick a{border:1px solid #e1e9f4;border-radius:12px;padding:12px 14px;color:#194477;background:#f8fbff;font-weight:700;font-size:12px}.quick a:hover{background:#eaf5ff;border-color:#bcd7f7}
@media(max-width:1050px){.analytics-grid{grid-template-columns:1fr}.content{padding:20px 16px}.donut-wrap{justify-content:flex-start}}@media(max-width:650px){.donut-wrap{flex-direction:column}.chart-summary{grid-template-columns:1fr}.panel{padding:16px}.content>h1{font-size:23px}}
@media print{aside,.top,.btn,form{display:none!important}.main{margin:0!important}.content{padding:0!important}.panel{box-shadow:none;break-inside:avoid}}

/* JENTIEL FinLog v1.4 — accès connexion renforcé */
.login-cta{min-width:145px;gap:9px;padding:12px 20px!important;border-radius:13px!important;background:linear-gradient(135deg,#103b78,#1769d2)!important;color:#fff!important;box-shadow:0 9px 24px rgba(23,105,210,.28)!important;border:1px solid rgba(255,255,255,.35)!important;position:relative;overflow:hidden}
.login-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.22) 50%,transparent 80%);transform:translateX(-130%);transition:transform .45s}
.login-cta:hover:before{transform:translateX(130%)}.login-cta:hover{filter:brightness(1.08);box-shadow:0 12px 28px rgba(23,105,210,.35)!important;transform:translateY(-2px)!important}
.login-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.17);font-size:17px;font-weight:900}
.authbox .btn.green{min-height:51px;font-size:16px;letter-spacing:.01em;background:linear-gradient(120deg,#0b9e51,#0c8548);box-shadow:0 10px 23px rgba(12,155,80,.24);border-radius:12px}
.authbox .btn.green:focus-visible,.login-cta:focus-visible{outline:3px solid #f2bf44;outline-offset:3px}
.inline-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inline-actions select,.inline-actions input{max-width:250px;min-width:130px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.btn.danger{background:#fff0ef;color:#a72d27;border-color:#f2cfcd}.muted{font-size:12px;color:var(--muted)}
@media(max-width:600px){.nav .login-cta{min-width:118px;padding:10px 12px!important;margin-left:5px}.login-icon{width:22px;height:22px}}
