
:root{
  --bg:#06070b;--bg-soft:#0c0f16;--card:#111521;--line:rgba(255,255,255,.08);--text:#f5f2ee;--muted:#aba5b8;
  --gold:#e5b975;--gold-2:#c38d49;--violet:#9b8cff;--blue:#70b7ff;--green:#69e0b0;--danger:#ff7a92;
  --shadow:0 28px 70px rgba(0,0,0,.45);--radius:24px;--font:'Outfit',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font);background:
radial-gradient(circle at top left, rgba(151,140,255,.14), transparent 22%),
radial-gradient(circle at top right, rgba(229,185,117,.12), transparent 20%),
linear-gradient(180deg,#06070b,#090b11 100%);color:var(--text)}
a{text-decoration:none;color:inherit}
.tool-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}
.tool-sidebar{padding:24px 18px;border-right:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg, rgba(5,7,12,.97), rgba(5,7,12,.88))}
.tool-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.28rem}.tool-brand img{width:28px;height:28px}.tool-brand span span{color:var(--gold)}
.tool-nav{display:grid;gap:8px}.tool-link{padding:14px 15px;border-radius:16px;border:1px solid transparent;background:transparent;color:#d8d2e2}.tool-link.active,.tool-link:hover{background:rgba(255,255,255,.04);border-color:var(--line)}
.tool-promo{margin-top:auto;padding:18px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(19,22,32,.94), rgba(12,15,22,.9));box-shadow:var(--shadow)}
.tool-promo .tag,.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:700}.tool-promo p{color:var(--muted);line-height:1.6}
.pill-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:600;cursor:pointer}.pill-btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#18120b}.pill-btn.soft{background:rgba(255,255,255,.04);border-color:var(--line);color:var(--text)}
.tool-main{padding:22px;display:grid;gap:22px}.glass{background:linear-gradient(180deg, rgba(19,22,32,.92), rgba(12,15,22,.92));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px}
.tool-topbar{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px}.tool-topbar h1{margin:0;font-size:1.8rem;letter-spacing:-.05em}.top-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-tool{padding:28px;display:grid;gap:18px;grid-template-columns:1.2fr .8fr}.hero-tool h2{margin:0;font-size:3rem;letter-spacing:-.06em;line-height:1.02}.hero-tool p{margin:0;color:var(--muted);line-height:1.75;font-size:1.06rem}.hero-panel{padding:20px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-box{padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:5px}.metric-box span{color:var(--muted);font-size:.9rem}.metric-box strong{font-size:1.35rem;letter-spacing:-.04em}
.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.section-card{padding:24px}.section-card h3{margin:0;font-size:1.55rem;letter-spacing:-.04em}.section-card p{color:var(--muted);line-height:1.7}
.step-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.step-btn{height:42px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#ddd}.step-btn.active{background:linear-gradient(135deg, rgba(229,185,117,.15), rgba(155,140,255,.12));color:#fff}
.form-card{padding:22px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.form-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:16px}.form-card-head strong{font-size:1.32rem}
.rows{display:grid;gap:12px}.tool-row{display:grid;grid-template-columns:1.4fr .8fr 44px;gap:12px;align-items:center}.tool-input{height:52px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#fff;outline:none}.tool-input:focus{border-color:rgba(229,185,117,.42)}
.delete-btn{height:44px;width:44px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff}.mini-btn{height:42px;padding:0 14px;border-radius:14px;border:1px dashed rgba(255,255,255,.14);background:transparent;color:#ddd}
.category-card{padding:18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:grid;gap:14px}.category-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.category-head .tool-input{max-width:320px}
.summary-stack{display:grid;gap:14px}.summary-item{padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:8px}.summary-item strong{font-size:1.4rem}.summary-item span{color:var(--muted)}
.flow-card{padding:22px}.flow-bars{display:grid;gap:14px}.flow-bars div{display:grid;grid-template-columns:160px 1fr auto;gap:14px;align-items:center}.flow-bars i{display:block;height:12px;background:rgba(255,255,255,.05);border-radius:999px;overflow:hidden}.flow-bars b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--violet))}
.actions-row{display:flex;gap:12px;flex-wrap:wrap}.wide{width:100%}
.list-grid{display:grid;gap:12px}.list-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.market-table{display:grid;gap:10px}.market-row{display:grid;grid-template-columns:1.1fr .8fr .7fr .7fr 120px;gap:12px;align-items:center;padding:15px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.025)}.market-row.header{background:transparent;border:none;color:var(--muted);padding:0 6px}
.positive{color:var(--green)}.negative{color:var(--danger)}
@media (max-width:1180px){.tool-shell{grid-template-columns:1fr}.tool-sidebar{position:static;height:auto}.hero-tool,.content-grid,.metric-row{grid-template-columns:1fr}}
@media (max-width:720px){.tool-main{padding:16px}.tool-topbar{flex-direction:column;align-items:flex-start}.hero-tool h2{font-size:2.3rem}.tool-row,.market-row{grid-template-columns:1fr}.market-row.header{display:none}.metric-row{grid-template-columns:1fr 1fr}}

.page-lock-wrap{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px}
.page-lock-backdrop{position:absolute;inset:0;background:rgba(4,4,9,.62);backdrop-filter:blur(8px)}
.page-lock-card{position:relative;z-index:1;max-width:520px;width:100%;padding:28px;border-radius:28px;background:linear-gradient(180deg, rgba(16,18,28,.96), rgba(10,12,18,.96));border:1px solid rgba(232,187,121,.18);box-shadow:0 30px 80px rgba(0,0,0,.45);animation:pageFloat 4.6s ease-in-out infinite}
.page-lock-card h2{margin:10px 0 10px;font-size:2rem;letter-spacing:-.05em}
.page-lock-card p{margin:0;color:#cbc4d7;line-height:1.72}
.page-lock-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg, rgba(232,187,121,.22), rgba(151,132,255,.16));border:1px solid rgba(255,255,255,.10);margin-bottom:12px}
.page-lock-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.page-lock-note{margin-top:10px;color:#e8bb79;font-size:.92rem}
@keyframes pageFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.page-locked .tool-main{filter:saturate(.82) brightness(.78)}

/* =========================
   V99 — Calculateur de budget premium + Sankey
========================= */
.budget-v99-page{font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% -10%,rgba(143,107,255,.18),transparent 30%),radial-gradient(circle at 92% 0%,rgba(229,185,117,.10),transparent 24%),linear-gradient(180deg,#030306,#070711 58%,#030306);}
.budget-v99-page .tool-shell{grid-template-columns:250px 1fr;}
.budget-v99-page .tool-sidebar{background:linear-gradient(180deg,rgba(5,5,10,.94),rgba(5,5,10,.82));backdrop-filter:blur(22px);}
.budget-v99-page .tool-brand img{width:30px;height:30px;border-radius:10px;}
.budget-main{max-width:1500px;width:100%;margin:0 auto;}
.budget-topbar{border-radius:24px;}
.budget-hero-v99{grid-template-columns:1.05fr .95fr;align-items:stretch;position:relative;overflow:hidden;}
.budget-hero-v99::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 0%,rgba(155,140,255,.14),transparent 28%),radial-gradient(circle at 80% 14%,rgba(229,185,117,.08),transparent 25%);pointer-events:none;}
.budget-hero-v99>*{position:relative;z-index:1;}
.budget-result-panel{display:grid;align-content:center;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));border-color:rgba(255,255,255,.08);}
.budget-result-panel small{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;}
.budget-result-panel>strong{font-size:clamp(2.4rem,4vw,4.4rem);letter-spacing:-.08em;line-height:.95;}
.budget-result-panel>p{margin:0;color:#c4bdcf;line-height:1.62;font-size:.98rem;}
.budget-metrics-row{margin-top:10px;}
.budget-sankey-card{padding:24px;border-radius:28px;overflow:hidden;position:relative;}
.budget-sankey-card::before{content:"";position:absolute;inset:-20% -10% auto auto;width:420px;height:260px;background:radial-gradient(circle,rgba(143,107,255,.14),transparent 68%);pointer-events:none;}
.sankey-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;position:relative;z-index:1;}
.sankey-head h2{margin:7px 0 0;font-size:clamp(1.6rem,2.5vw,2.5rem);letter-spacing:-.06em;line-height:1.05;}
.sankey-actions{display:flex;gap:10px;flex-wrap:wrap;}
.budget-sankey{min-height:330px;position:relative;display:grid;grid-template-columns:280px 1fr 310px;gap:12px;align-items:center;padding:10px 0 4px;}
.sankey-col{position:relative;z-index:2;display:grid;gap:12px;}
.sankey-col>small{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.76rem;}
.sankey-left>div,.sankey-right>div{display:grid;gap:10px;}
.sankey-node{padding:14px 15px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.023));border:1px solid rgba(255,255,255,.075);box-shadow:0 14px 34px rgba(0,0,0,.18);}
.sankey-node span{display:block;color:#aaa4b7;font-size:.82rem;margin-bottom:5px;}
.sankey-node strong{display:block;color:#fff;font-size:1.16rem;letter-spacing:-.04em;}
.sankey-node.income{border-color:rgba(112,183,255,.18);}
.sankey-node.invest{border-color:rgba(229,185,117,.20);}
.sankey-node.expense{border-color:rgba(155,140,255,.18);}
.sankey-node.available{border-color:rgba(105,224,176,.18);}
.sankey-node.danger{border-color:rgba(255,122,146,.22);}
.sankey-svg{position:relative;z-index:1;width:100%;height:300px;overflow:visible;}
.sankey-svg path{fill:none;stroke-linecap:round;filter:drop-shadow(0 0 22px rgba(155,140,255,.20));transition:stroke-width .22s ease,opacity .22s ease;}
#sankeyInvestPath{stroke:url(#budgetFlowGold, #e5b975);stroke:#e5b975;}
#sankeyExpensePath{stroke:#9b8cff;}
#sankeyAvailablePath{stroke:#69e0b0;}
.sankey-note{margin:14px 0 0;color:#aaa4b7;line-height:1.6;font-size:.94rem;position:relative;z-index:1;}
.budget-content-grid{grid-template-columns:minmax(0,1.05fr) 420px;}
.budget-form-actions{justify-content:space-between;border-top:1px solid rgba(255,255,255,.055);padding-top:16px;}
.budget-v99-page .form-step{display:none;}
.budget-v99-page .form-step.is-active{display:block;}
.budget-v99-page .form-card{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.budget-v99-page .tool-row{grid-template-columns:1fr 170px 44px;}
.budget-v99-page .tool-input{font-family:Manrope,system-ui,sans-serif;}
.budget-v99-page .flow-card h3{margin:6px 0 14px;font-size:1.45rem;letter-spacing:-.045em;}
.budget-v99-page .section-card h3{margin:6px 0 10px;}
@media(max-width:1180px){.budget-v99-page .tool-shell{grid-template-columns:1fr}.budget-hero-v99,.budget-content-grid,.budget-sankey{grid-template-columns:1fr}.sankey-svg{height:170px}.budget-sankey{min-height:auto}.sankey-col{z-index:2}.sankey-svg{order:2}.sankey-right{order:3}}
@media(max-width:720px){.budget-v99-page .top-actions{width:100%}.budget-v99-page .pill-btn{width:100%}.budget-sankey-card{padding:18px}.sankey-head{display:grid}.budget-v99-page .tool-row{grid-template-columns:1fr}.budget-v99-page .delete-btn{width:100%}.budget-metrics-row{grid-template-columns:1fr 1fr}.budget-result-panel>strong{font-size:2.5rem}}
@media print{.budget-v99-page .tool-sidebar,.budget-topbar,.budget-form-actions,.top-actions,.sankey-actions{display:none!important}.budget-v99-page .tool-shell{display:block}.budget-main{padding:0}.glass{box-shadow:none!important}.budget-sankey-card{break-inside:avoid}}

/* =========================
   V100 — Calculateur budget premium inspiré Sankey
========================= */
:root{--font:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.budget-v99-page{
  background:
    radial-gradient(circle at 50% -12%,rgba(155,140,255,.20),transparent 28%),
    radial-gradient(circle at 87% 4%,rgba(229,185,117,.10),transparent 24%),
    linear-gradient(180deg,#040407 0%,#070710 46%,#030306 100%) !important;
}
.budget-main{max-width:1480px;margin:0 auto;width:100%;}
.budget-topbar{position:sticky;top:18px;z-index:20;backdrop-filter:blur(24px);}
.budget-hero-v99{
  min-height:300px;
  align-items:stretch;
  background:
    radial-gradient(circle at 30% -20%,rgba(143,107,255,.24),transparent 34%),
    radial-gradient(circle at 86% 5%,rgba(223,189,114,.10),transparent 26%),
    linear-gradient(135deg,rgba(15,13,24,.98),rgba(5,5,9,.98)) !important;
  border-color:rgba(255,255,255,.105) !important;
  box-shadow:0 38px 120px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.055);
}
.budget-hero-v99 h2{max-width:780px;letter-spacing:-.065em;}
.budget-hero-v99 p{max-width:730px;}
.budget-result-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032)) !important;
  border:1px solid rgba(255,255,255,.105);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 24px 80px rgba(0,0,0,.24);
}
.budget-result-panel>strong{font-size:clamp(40px,4.5vw,68px);letter-spacing:-.075em;}
.step-tabs{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);padding:5px;border-radius:999px;width:max-content;max-width:100%;}
.step-btn{border-radius:999px;}
.step-btn.active{box-shadow:0 12px 34px rgba(223,189,114,.14), inset 0 1px 0 rgba(255,255,255,.18);}
.budget-sankey-card{
  padding:30px;
  background:
    radial-gradient(circle at 12% 0%,rgba(143,107,255,.15),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022)) !important;
}
.budget-sankey{
  min-height:350px;
  border-radius:28px;
  background:
    linear-gradient(90deg,rgba(109,143,255,.12),rgba(223,189,114,.08) 38%,rgba(196,134,255,.10) 100%),
    rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.085);
  overflow:hidden;
}
.sankey-svg path{filter:drop-shadow(0 0 14px rgba(155,140,255,.20));stroke-linecap:round;}
#sankeyInvestPath{stroke:#f0c985;}
#sankeyExpensePath{stroke:#b79cff;}
#sankeyAvailablePath{stroke:#6fe0b0;}
.sankey-node{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.095);
  background:rgba(6,6,11,.66);
  box-shadow:0 16px 38px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.055);
}
.sankey-node span{font-size:12px;color:#c9c2d5;}
.sankey-node strong{font-size:16px;}
.budget-verdict-card{
  margin-top:18px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(223,189,114,.12),rgba(143,107,255,.09));
  border:1px solid rgba(223,189,114,.20);
  display:grid;
  gap:7px;
}
.budget-verdict-card span{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;}
.budget-verdict-card strong{font-size:22px;letter-spacing:-.045em;}
.budget-verdict-card p{margin:0;color:#c8c0d2;line-height:1.62;}
.form-helper{margin:2px 0 16px;color:#a99fb4;font-size:13px;line-height:1.55;}
.tool-row{grid-template-columns:1.25fr .85fr 42px;gap:10px;}
.row-amount{text-align:right;}
.budget-form-actions{position:sticky;bottom:18px;padding:10px;border-radius:999px;background:rgba(6,6,10,.72);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);width:max-content;max-width:100%;}
.summary-stack .section-card,.summary-stack .flow-card{position:relative;overflow:hidden;}
.summary-stack .section-card:before,.summary-stack .flow-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(223,189,114,.34),rgba(143,107,255,.25),transparent);}
@media(max-width:900px){
  .budget-topbar{position:relative;top:auto;}
  .step-tabs{width:100%;display:grid;grid-template-columns:1fr;}
  .budget-sankey{min-height:520px;grid-template-columns:1fr;gap:12px;}
  .sankey-svg{position:absolute;inset:120px 20px 120px 20px;opacity:.35;}
  .budget-form-actions{position:static;width:100%;}
}
@media print{
  .tool-sidebar,.budget-topbar,.budget-form-actions,.top-actions{display:none!important;}
  .tool-shell{display:block!important;}
  .budget-main{padding:0!important;}
  .glass,.budget-sankey-card{box-shadow:none!important;break-inside:avoid;}
}

/* =========================
   V101 — Calculateur budget plus fidèle + décision PEA
========================= */
.budget-v101-page .budget-hero-v99{
  min-height:360px;
  border-radius:34px;
  background:
    radial-gradient(circle at 18% -10%,rgba(143,107,255,.24),transparent 34%),
    radial-gradient(circle at 86% 6%,rgba(223,189,114,.10),transparent 25%),
    linear-gradient(135deg,rgba(9,8,17,.98),rgba(3,3,6,.98)) !important;
}
.budget-v101-page .budget-hero-v99 h2{
  font-size:clamp(38px,4.2vw,68px);
  line-height:.96;
  max-width:860px;
}
.budget-v101-page .budget-hero-v99 p{
  font-size:15.5px;
  color:#c0b8cc;
}
.pea-advice-mini{
  margin:4px 0 6px;
  padding:14px 15px;
  border-radius:19px;
  background:linear-gradient(135deg,rgba(223,189,114,.13),rgba(143,107,255,.10));
  border:1px solid rgba(223,189,114,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.pea-advice-mini span{
  display:block;
  color:#dfbd72;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:850;
  margin-bottom:6px;
}
.pea-advice-mini strong{
  display:block;
  color:#fff;
  font-size:25px;
  letter-spacing:-.055em;
  margin-bottom:4px;
}
.pea-advice-mini p{margin:0!important;color:#bfb7c9!important;font-size:12.5px!important;line-height:1.45!important;}
.sankey-subtitle{margin:8px 0 0;max-width:640px;color:#aaa4b7;line-height:1.55;font-size:14px;}
.budget-v101-page .budget-sankey-card{
  background:
    radial-gradient(circle at 12% 0%,rgba(143,107,255,.13),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.020));
}
.budget-v101-page .budget-sankey{
  min-height:360px;
}
.budget-v101-page .sankey-node{
  backdrop-filter:blur(14px);
}
.pea-action-card{
  background:linear-gradient(135deg,rgba(223,189,114,.105),rgba(143,107,255,.075)) !important;
  border-color:rgba(223,189,114,.18)!important;
}
.pea-action-card h3{margin-bottom:8px;}
.pea-action-card p{color:#bfb7c9;line-height:1.58;}
.pea-action-number{
  margin-top:14px;
  padding:16px;
  border-radius:18px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.06em;
}
.budget-v101-page .tool-nav .tool-link{
  min-height:39px;
}
@media(max-width:720px){
  .budget-v101-page .budget-hero-v99 h2{font-size:38px;}
  .pea-action-number{font-size:24px;}
}

/* =========================
   V102 — Outils de projection premium
========================= */
.projection-tool-page{font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% -10%,rgba(143,107,255,.18),transparent 30%),radial-gradient(circle at 92% 0%,rgba(229,185,117,.10),transparent 24%),linear-gradient(180deg,#030306,#070711 58%,#030306)}
.projection-tool-page .tool-shell{grid-template-columns:250px 1fr}.projection-tool-page .tool-sidebar{background:linear-gradient(180deg,rgba(5,5,10,.94),rgba(5,5,10,.82));backdrop-filter:blur(22px)}.projection-tool-page .tool-brand img{width:30px;height:30px;border-radius:10px}.projection-main{max-width:1480px;width:100%;margin:0 auto}.projection-hero{grid-template-columns:1.05fr .95fr;align-items:stretch;position:relative;overflow:hidden}.projection-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(155,140,255,.16),transparent 32%),radial-gradient(circle at 86% 12%,rgba(229,185,117,.08),transparent 25%);pointer-events:none}.projection-hero>*{position:relative;z-index:1}.projection-hero .micro-note{display:inline-flex;margin-top:14px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#d9d1e6;font-size:.86rem}.result-panel-v102{display:grid;align-content:center;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));border-color:rgba(255,255,255,.08)}.result-panel-v102 small{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.result-panel-v102>strong{font-size:clamp(2.5rem,4.6vw,4.8rem);letter-spacing:-.085em;line-height:.95}.result-panel-v102 p{margin:0;color:#c4bdcf;line-height:1.62;font-size:.98rem}.input-grid-v102{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.input-card-v102{padding:16px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.028);display:grid;gap:9px}.input-card-v102 span{color:#cfc8db;font-size:.86rem;font-weight:700}.input-card-v102 strong{font-size:1.25rem;letter-spacing:-.04em}.input-card-v102 input{width:100%;height:46px;padding:0 13px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.18);color:#fff;outline:none}.input-card-v102 input:focus{border-color:rgba(229,185,117,.42);box-shadow:0 0 0 3px rgba(229,185,117,.06)}.projection-grid-v102{display:grid;grid-template-columns:1fr 1fr;gap:18px}.projection-chart-card{padding:24px;overflow:hidden}.projection-chart-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.projection-chart-head h2{margin:8px 0 0;font-size:clamp(1.55rem,2.35vw,2.35rem);letter-spacing:-.06em;line-height:1.05}.projection-chart-head p{margin:8px 0 0;color:#bdb6c9;line-height:1.6}.projection-bars{display:grid;gap:12px}.projection-bar{display:grid;grid-template-columns:84px 1fr minmax(92px,auto);gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055)}.projection-bar span{color:#cfc8db;font-weight:800;font-size:.86rem}.projection-bar i{height:12px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.projection-bar b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--violet))}.projection-bar strong{text-align:right;letter-spacing:-.035em}.tool-verdict-v102{padding:20px;border-radius:24px;border:1px solid rgba(229,185,117,.15);background:linear-gradient(135deg,rgba(229,185,117,.10),rgba(155,140,255,.08));display:grid;gap:8px}.tool-verdict-v102 span{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850}.tool-verdict-v102 strong{font-size:1.35rem;letter-spacing:-.04em}.tool-verdict-v102 p{margin:0;color:#cfc8db;line-height:1.62}.milestone-list-v102{display:grid;gap:10px}.milestone-item-v102{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.milestone-item-v102:last-child{border-bottom:0}.milestone-item-v102 span{color:#cfc8db}.milestone-item-v102 strong{letter-spacing:-.035em;text-align:right}@media(max-width:1180px){.projection-tool-page .tool-shell{grid-template-columns:1fr}.projection-hero,.projection-grid-v102{grid-template-columns:1fr}.input-grid-v102{grid-template-columns:1fr 1fr}}@media(max-width:720px){.input-grid-v102,.projection-grid-v102{grid-template-columns:1fr}.projection-bar{grid-template-columns:1fr}.projection-bar strong{text-align:left}.projection-hero h2{font-size:2.25rem}}


/* =========================
   V103 — correction visuelle outils / PDF / cashflow
========================= */
.tool-brand img{object-fit:contain;background:rgba(255,255,255,.08);}
.projection-hero,.budget-hero-v99{isolation:isolate;}
.projection-hero:before,.budget-hero-v99::before{display:none!important;}
.hero-tool.glass,.projection-hero,.budget-hero-v99{background:radial-gradient(circle at 12% 0%,rgba(143,107,255,.12),transparent 32%),radial-gradient(circle at 86% 8%,rgba(223,189,114,.065),transparent 26%),linear-gradient(135deg,rgba(12,11,20,.97),rgba(4,4,8,.98))!important;}
.hero-tool h2{position:relative;z-index:2;max-width:820px;text-wrap:balance;}
.hero-tool p,.hero-tool .micro-note,.hero-tool .eyebrow,.step-tabs,.budget-progress{position:relative;z-index:2;}
.result-panel-v102,.budget-result-panel{position:relative;z-index:2;}
.metric-box strong,.result-panel-v102>strong,.budget-result-panel>strong,.input-card-v102 strong,.projection-bar strong,.milestone-item-v102 strong,.pea-action-number{white-space:normal;overflow-wrap:normal;word-break:normal;}
.budget-result-panel>strong{color:#fff;text-shadow:0 0 30px rgba(255,255,255,.08);}
.pea-advice-mini strong{white-space:nowrap;}
.budget-progress{margin:16px 0 0;display:grid;gap:8px;max-width:520px;}
.progress-label{font-size:12px;color:#d7cfff;font-weight:800;}
.progress-line{height:7px;border-radius:999px;background:rgba(255,255,255,.075);overflow:hidden;border:1px solid rgba(255,255,255,.06);}
.progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--violet));}
.budget-sankey{grid-template-columns:220px minmax(280px,1fr) 250px!important;}
.sankey-node strong{white-space:nowrap;}
.flow-bars div{grid-template-columns:120px minmax(80px,1fr) auto;}
.budget-v101-page .tool-nav .tool-link,.projection-tool-page .tool-nav .tool-link{font-size:14px;line-height:1.2;}
.tool-sidebar{overflow:hidden;}
@media(max-width:1180px){.budget-sankey{grid-template-columns:1fr!important}.tool-shell{grid-template-columns:1fr!important}.tool-sidebar{height:auto}}
@media print{.projection-hero:before,.budget-hero-v99::before{display:none!important;}.tool-sidebar,.tool-topbar,.top-actions,.budget-form-actions,.tool-form-save-row,.sankey-actions{display:none!important;}.tool-shell{display:block!important;}.tool-main{padding:0!important;}.glass{box-shadow:none!important;}}

/* V104 — bouton sauvegarder placé sous les informations à renseigner */
.tool-form-save-row{margin-top:16px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.055)}
.tool-form-save-row span{color:#9d95ad;font-size:.86rem}
@media(max-width:720px){.tool-form-save-row{align-items:stretch;flex-direction:column}.tool-form-save-row .pill-btn{width:100%}}

/* =========================
   V105 — détails interactifs sur graphiques
========================= */
.projection-chart-card{position:relative;overflow:visible!important;}
.projection-bars{position:relative;}
.projection-bar{
  position:relative;
  appearance:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.projection-bar:hover,.projection-bar:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(229,185,117,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028));
  box-shadow:0 18px 34px rgba(0,0,0,.16);
  outline:none;
}
.projection-bar span,.projection-bar strong{pointer-events:none;}
.projection-bar i{pointer-events:none;position:relative;}
.projection-bar i::after{content:'';position:absolute;right:2px;top:50%;width:10px;height:10px;border-radius:50%;background:#fff7df;box-shadow:0 0 0 4px rgba(255,247,223,.08),0 0 12px rgba(223,189,114,.32);transform:translateY(-50%);opacity:.9;}
.projection-rich-tooltip,.sankey-rich-tooltip{
  position:absolute;
  z-index:8;
  min-width:236px;
  max-width:292px;
  padding:14px 15px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(9,9,14,.96),rgba(18,15,28,.94));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 60px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(22px);
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-10px) scale(.96);
  transition:opacity .18s ease, transform .18s ease;
}
.projection-rich-tooltip.is-visible,.sankey-rich-tooltip.is-visible{opacity:1;transform:translate(-50%,-18px) scale(1);}
.projection-rich-tooltip small,.sankey-rich-tooltip small{display:block;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;margin-bottom:8px;}
.projection-rich-tooltip strong,.sankey-rich-tooltip strong{display:block;color:#fff;font-size:23px;letter-spacing:-.05em;line-height:1;margin-bottom:10px;}
.projection-rich-tooltip ul,.sankey-rich-tooltip ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.projection-rich-tooltip li,.sankey-rich-tooltip li{display:flex;justify-content:space-between;gap:14px;color:#cec6da;font-size:12.5px;line-height:1.35;}
.projection-rich-tooltip li span,.sankey-rich-tooltip li span{color:#a69fb1;}
.projection-rich-tooltip li b,.sankey-rich-tooltip li b{color:#fff;font-weight:700;text-align:right;}
.budget-sankey{overflow:visible!important;}
.sankey-node{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.sankey-node:hover,.sankey-node:focus-visible{transform:translateY(-1px);border-color:rgba(229,185,117,.22);box-shadow:0 18px 34px rgba(0,0,0,.18);outline:none;}
.sankey-svg path{cursor:pointer;transition:opacity .18s ease,filter .18s ease;}
.sankey-svg path:hover,.sankey-svg path:focus-visible{opacity:1!important;filter:drop-shadow(0 0 18px rgba(223,189,114,.30));outline:none;}
@media(max-width:720px){.projection-rich-tooltip,.sankey-rich-tooltip{min-width:210px;max-width:240px;}}


/* =========================
   V106 — tooltips luxe suivis souris/doigt
========================= */
.projection-rich-tooltip,.sankey-rich-tooltip{
  padding:16px 16px 15px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(143,107,255,.16),transparent 38%),
    linear-gradient(180deg,rgba(12,11,18,.975),rgba(18,14,28,.955))!important;
  border:1px solid rgba(223,189,114,.16)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.03) inset,0 0 34px rgba(143,107,255,.10)!important;
}
.projection-rich-tooltip::before,.sankey-rich-tooltip::before{
  content:"";
  position:absolute;
  left:16px;right:16px;top:44px;
  height:1px;
  background:linear-gradient(90deg,rgba(223,189,114,.45),rgba(143,107,255,.24),transparent);
}
.projection-rich-tooltip small,.sankey-rich-tooltip small{color:#e8c77f!important;}
.projection-rich-tooltip strong,.sankey-rich-tooltip strong{font-size:24px!important;margin:0 0 14px!important;padding-bottom:2px;}
.projection-rich-tooltip li,.sankey-rich-tooltip li{
  position:relative;
  padding:0 0 0 12px;
}
.projection-rich-tooltip li::before,.sankey-rich-tooltip li::before{
  content:"";
  position:absolute;
  left:0;top:.48em;
  width:5px;height:5px;border-radius:999px;
  background:linear-gradient(135deg,#dfbd72,#8f6bff);
  box-shadow:0 0 10px rgba(223,189,114,.30);
}
.projection-rich-tooltip li + li,.sankey-rich-tooltip li + li{
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.055);
}
.projection-bar:hover i::after,.projection-bar:focus-visible i::after{
  width:12px;height:12px;
  box-shadow:0 0 0 5px rgba(223,189,114,.10),0 0 18px rgba(223,189,114,.42);
}
@media(pointer:fine){
  .projection-rich-tooltip,.sankey-rich-tooltip{transition:opacity .12s ease, transform .12s ease, left .06s linear, top .06s linear!important;}
}
@media(max-width:720px){
  .projection-rich-tooltip,.sankey-rich-tooltip{position:absolute!important;left:50%!important;top:24px!important;transform:translateX(-50%) scale(.98)!important;}
  .projection-rich-tooltip.is-visible,.sankey-rich-tooltip.is-visible{transform:translateX(-50%) scale(1)!important;}
}


/* =========================
   V107 — graphique intérêts composés fin et réaliste
========================= */
.fine-compound-chart{
  position:relative;
  margin-top:18px;
  min-height:300px;
  padding:18px 16px 14px;
  border-radius:24px;
  background:
    radial-gradient(circle at 76% 18%,rgba(223,189,114,.11),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.28),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.075);
  overflow:hidden;
}
.fine-chart-top,.fine-chart-legend{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#9f98aa;
  font-size:12px;
}
.fine-compound-chart svg{
  width:100%;
  height:260px;
  display:block;
  margin-top:8px;
  overflow:visible;
  cursor:crosshair;
}
.fine-grid path{
  stroke:rgba(255,255,255,.075);
  stroke-width:1;
  stroke-dasharray:3 6;
  vector-effect:non-scaling-stroke;
}
.deposit-area{fill:url(#depositAreaV107);stroke:#8fabff;stroke-width:1.2;vector-effect:non-scaling-stroke;}
.interest-area{fill:url(#interestAreaV107);stroke:#dfbd72;stroke-width:1.2;vector-effect:non-scaling-stroke;}
.compound-line{
  fill:none;
  stroke:url(#compoundLineV107);
  stroke-width:1.9;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 10px rgba(223,189,114,.22));
}
.chart-cursor{
  stroke:rgba(255,255,255,.42);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.chart-dot{
  fill:#fff;
  stroke:#11101b;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.26));
}
.deposit-dot{fill:#9db4ff;}
.interest-dot{fill:#f0c985;}
.fine-chart-legend{
  justify-content:center;
  margin-top:10px;
}
.fine-chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.fine-chart-legend i{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#8fabff;
}
.fine-chart-legend span:nth-child(2) i{background:#dfbd72;}
.fine-chart-tooltip{
  position:absolute;
  z-index:9;
  min-width:238px;
  max-width:300px;
  padding:15px 16px;
  border-radius:21px;
  background:
    radial-gradient(circle at 20% 0%,rgba(223,189,114,.16),transparent 36%),
    linear-gradient(180deg,rgba(9,9,14,.96),rgba(20,16,28,.94));
  border:1px solid rgba(223,189,114,.18);
  box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 34px rgba(143,107,255,.10);
  backdrop-filter:blur(22px);
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-10px) scale(.97);
  transition:opacity .13s ease,transform .13s ease,left .05s linear,top .05s linear;
}
.fine-chart-tooltip.is-visible{opacity:1;transform:translate(-50%,-18px) scale(1);}
.fine-chart-tooltip small{
  display:block;
  color:#e8c77f;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:850;
  margin-bottom:7px;
}
.fine-chart-tooltip strong{
  display:block;
  font-size:26px;
  line-height:1;
  letter-spacing:-.055em;
  margin-bottom:12px;
}
.fine-chart-tooltip ul{
  list-style:none;
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
}
.fine-chart-tooltip li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.06);
  color:#cfc8da;
  font-size:12.5px;
}
.fine-chart-tooltip li span{color:#a9a1b4;}
.fine-chart-tooltip li b{color:#fff;text-align:right;}
@media(max-width:720px){
  .fine-compound-chart{min-height:270px}
  .fine-compound-chart svg{height:220px}
  .fine-chart-tooltip{left:50%!important;top:24px!important;transform:translateX(-50%) scale(.98)!important}
  .fine-chart-tooltip.is-visible{transform:translateX(-50%) scale(1)!important}
}


/* V145 — outils ouverts dans une fenêtre dédiée, sans menu latéral interne.
   Objectif : conserver l'ouverture en nouvel onglet/fenêtre depuis le dashboard,
   puis afficher l'outil en pleine largeur pour maximiser l'espace utile. */
@media screen{
  .tool-shell{
    display:block!important;
    grid-template-columns:1fr!important;
    min-height:100vh;
  }
  .tool-sidebar{
    display:none!important;
  }
  .tool-main{
    width:100%;
    min-width:0;
    max-width:1660px;
    margin:0 auto;
    padding:28px clamp(22px,3vw,52px);
  }
  .budget-main,.projection-main{
    max-width:1660px!important;
  }
  .tool-topbar .top-actions{
    flex-wrap:wrap;
  }
  .tool-topbar{
    margin-bottom:24px;
  }
}
@media screen and (max-width:720px){.tool-main{padding:16px}}

/* =========================
   V146 — angles plus sobres + suppression des contours
   Objectif : rendu plus premium, moins "cartes encadrées", coins légèrement arrondis.
========================= */
:root{
  --radius:14px;
  --line:transparent;
}
@media screen{
  .glass,
  .tool-topbar,
  .hero-tool,
  .hero-panel,
  .metric-box,
  .section-card,
  .form-card,
  .category-card,
  .summary-item,
  .flow-card,
  .list-card,
  .market-row,
  .budget-result-panel,
  .budget-sankey-card,
  .budget-sankey,
  .budget-verdict-card,
  .pea-advice-mini,
  .sankey-node,
  .page-lock-card,
  .fine-chart-tooltip{
    border:0!important;
    border-color:transparent!important;
    outline:0!important;
  }

  .glass,
  .tool-topbar,
  .hero-tool,
  .budget-hero-v99,
  .budget-sankey-card{
    border-radius:14px!important;
  }

  .hero-panel,
  .budget-result-panel,
  .section-card,
  .form-card,
  .flow-card,
  .category-card,
  .budget-sankey,
  .budget-verdict-card,
  .page-lock-card{
    border-radius:13px!important;
  }

  .metric-box,
  .summary-item,
  .list-card,
  .market-row,
  .sankey-node,
  .pea-advice-mini,
  .fine-chart-tooltip{
    border-radius:11px!important;
  }

  .pill-btn,
  .step-tabs,
  .step-btn,
  .tool-link,
  .tool-input,
  .mini-btn,
  .delete-btn,
  .budget-form-actions,
  .page-lock-icon,
  .page-lock-actions a,
  button,
  input,
  select,
  textarea{
    border:0!important;
    outline:0!important;
    border-radius:10px!important;
  }

  .step-tabs,
  .budget-form-actions{
    background:rgba(255,255,255,.035)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 44px rgba(0,0,0,.22)!important;
  }

  .step-btn.active,
  .pill-btn.soft,
  .tool-link.active,
  .tool-link:hover,
  .tool-input:focus{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 34px rgba(0,0,0,.18)!important;
  }

  .tool-input{
    background:rgba(255,255,255,.045)!important;
  }

  .market-row.header{
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* =========================
   V147 — angles très sobres partout + suppression des contours
   Objectif : plus premium/desktop, moins bulles arrondies.
========================= */
:root{--radius:8px;--v147-radius-lg:8px;--v147-radius-md:6px;--v147-radius-sm:4px;--line:transparent;}
@media screen{
  .tool-sidebar,.tool-brand,.tool-nav,.tool-link,.tool-promo,.pill-btn,.tool-topbar,.top-actions a,.tool-main,.glass,.hero-tool,.hero-panel,.metric-box,.section-card,.form-card,.category-card,.summary-item,.flow-card,.list-card,.market-row,.tool-row,.tool-input,.mini-btn,.delete-btn,.step-tabs,.step-btn,.budget-topbar,.budget-hero-v99,.budget-result-panel,.budget-sankey-card,.budget-sankey,.budget-verdict-card,.pea-advice-mini,.sankey-node,.budget-form-actions,.page-lock-card,.page-lock-icon,.page-lock-actions a,.projection-hero,.result-panel-v102,.input-card-v102,.input-card-v102 input,.projection-chart-card,.projection-bar,.tool-verdict-v102,.fine-chart-tooltip,button,input,select,textarea{border:0!important;border-color:transparent!important;outline:0!important;border-radius:var(--v147-radius-md)!important;}
  .glass,.tool-topbar,.hero-tool,.budget-hero-v99,.budget-sankey-card,.projection-hero,.projection-chart-card,.page-lock-card{border-radius:var(--v147-radius-lg)!important;}
  .metric-box,.summary-item,.list-card,.market-row,.sankey-node,.pea-advice-mini,.projection-bar,.tool-link,.pill-btn,.step-btn,.mini-btn,.delete-btn,.budget-form-actions,.page-lock-actions a,button{border-radius:var(--v147-radius-sm)!important;}
  .progress-line,.flow-bars i,.flow-bars b,.projection-bar i,.projection-bar b{border-radius:3px!important;}
  .tool-input,.input-card-v102 input{background:rgba(255,255,255,.045)!important;}
  .step-tabs,.budget-form-actions{background:rgba(255,255,255,.035)!important;box-shadow:0 16px 38px rgba(0,0,0,.20)!important;}
}



/* =========================
   V148 — hard-edge luxe global
   Angles vraiment sobres partout sur les pages outils, sans contours visibles.
========================= */
:root{--radius:8px;--v147-radius-lg:8px;--v147-radius-md:6px;--v147-radius-sm:5px;--pea-radius-xl:8px;--pea-radius-lg:7px;--pea-radius-md:6px;--pea-radius-sm:5px;--line:transparent;}
@media screen{
  .tool-page,.tool-page *:not(canvas):not(svg):not(path),body.budget-v99-page,body.budget-v99-page *:not(canvas):not(svg):not(path),body.projection-tool-page,body.projection-tool-page *:not(canvas):not(svg):not(path){border-radius:var(--pea-radius-md)!important;border-color:transparent!important;outline:0!important;}
  .glass,.tool-topbar,.hero-tool,.hero-panel,.budget-topbar,.budget-hero-v99,.budget-result-panel,.budget-sankey-card,.budget-sankey,.budget-verdict-card,.section-card,.form-card,.category-card,.summary-item,.flow-card,.list-card,.market-row,.page-lock-card,.projection-hero,.result-panel-v102,.input-card-v102,.projection-chart-card,.projection-bar,.tool-verdict-v102,.pea-advice-mini,.sankey-node{border:0!important;border-radius:var(--pea-radius-xl)!important;box-shadow:0 22px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.025)!important;}
  .pill-btn,.top-actions a,.step-tabs,.step-btn,.tool-input,.input-card-v102 input,.mini-btn,.delete-btn,.budget-form-actions,.page-lock-icon,.page-lock-actions a,button,input,select,textarea{border:0!important;border-radius:var(--pea-radius-sm)!important;box-shadow:none!important;}
  .progress-line,.progress-line i,.flow-bars i,.flow-bars b,.projection-bar i,.projection-bar b,.market-row i,.market-row b{border-radius:5px!important;}
}

/* =========================
   V149 — polish premium hard-edge appliqué aussi aux pages outils
   Objectif : angles très légers partout, zéro contour visible, profondeur sombre/luxe.
========================= */
:root{
  --pea-radius-xl:8px;
  --pea-radius-lg:7px;
  --pea-radius-md:6px;
  --pea-radius-sm:5px;
  --tool-depth-bg:linear-gradient(135deg,rgba(15,16,24,.94),rgba(7,7,12,.985) 62%,rgba(13,11,18,.96));
  --tool-depth-soft:linear-gradient(145deg,rgba(255,255,255,.048),rgba(255,255,255,.014) 54%,rgba(0,0,0,.16));
  --tool-depth-gold:radial-gradient(circle at 82% 5%,rgba(229,185,117,.105),transparent 30%);
  --tool-depth-violet:radial-gradient(circle at 14% 0%,rgba(143,107,255,.105),transparent 30%);
}
@media screen{
  body.budget-v99-page,
  body.projection-tool-page{
    background:
      radial-gradient(circle at 10% -8%,rgba(143,107,255,.10),transparent 28%),
      radial-gradient(circle at 92% -4%,rgba(229,185,117,.075),transparent 24%),
      linear-gradient(180deg,#030306,#07070d 52%,#030306)!important;
  }

  .tool-main{gap:26px!important;}

  .glass,
  .tool-topbar,
  .budget-topbar,
  .hero-tool,
  .budget-hero-v99,
  .projection-hero,
  .section-card,
  .form-card,
  .flow-card,
  .budget-sankey-card,
  .projection-chart-card,
  .page-lock-card{
    border:0!important;
    border-radius:var(--pea-radius-xl)!important;
    background:
      var(--tool-depth-violet),
      var(--tool-depth-gold),
      var(--tool-depth-bg)!important;
    box-shadow:
      0 32px 90px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.032),
      inset 0 -1px 0 rgba(0,0,0,.35)!important;
  }

  .tool-topbar,
  .budget-topbar{
    background:linear-gradient(135deg,rgba(14,17,25,.96),rgba(7,8,13,.98))!important;
  }

  .hero-tool,
  .budget-hero-v99,
  .projection-hero{
    padding:clamp(26px,3vw,40px)!important;
    overflow:hidden!important;
  }

  .hero-tool::after,
  .budget-hero-v99::after,
  .projection-hero::after,
  .budget-sankey-card::after,
  .projection-chart-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg,rgba(255,255,255,.028),transparent 22%,transparent 78%,rgba(255,255,255,.018)),
      linear-gradient(180deg,rgba(255,255,255,.028),transparent 34%);
    opacity:.72;
  }

  .hero-tool>* ,
  .budget-hero-v99>* ,
  .projection-hero>* ,
  .budget-sankey-card>* ,
  .projection-chart-card>*{position:relative;z-index:1;}

  .hero-panel,
  .budget-result-panel,
  .result-panel-v102,
  .metric-box,
  .summary-item,
  .category-card,
  .list-card,
  .market-row,
  .budget-sankey,
  .budget-verdict-card,
  .sankey-node,
  .input-card-v102,
  .projection-bar,
  .tool-verdict-v102,
  .pea-advice-mini,
  .fine-compound-chart{
    border:0!important;
    border-radius:var(--pea-radius-lg)!important;
    background:
      radial-gradient(circle at 80% 0%,rgba(229,185,117,.060),transparent 32%),
      linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018) 56%,rgba(0,0,0,.18))!important;
    box-shadow:
      0 18px 48px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.028)!important;
  }

  .budget-result-panel,
  .result-panel-v102{
    background:
      radial-gradient(circle at 82% 10%,rgba(229,185,117,.08),transparent 34%),
      radial-gradient(circle at 12% 0%,rgba(143,107,255,.08),transparent 36%),
      linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018) 58%,rgba(0,0,0,.20))!important;
  }

  .step-tabs,
  .budget-form-actions{
    border:0!important;
    border-radius:var(--pea-radius-md)!important;
    padding:5px!important;
    background:rgba(255,255,255,.045)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.035)!important;
  }

  .pill-btn,
  .top-actions a,
  .step-btn,
  .tool-input,
  .input-card-v102 input,
  .mini-btn,
  .delete-btn,
  .page-lock-icon,
  .page-lock-actions a,
  button,
  input,
  select,
  textarea{
    border:0!important;
    border-radius:var(--pea-radius-sm)!important;
    outline:0!important;
  }

  .pill-btn.soft,
  .step-btn,
  .mini-btn,
  .delete-btn{
    background:linear-gradient(145deg,rgba(255,255,255,.060),rgba(255,255,255,.020))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 24px rgba(0,0,0,.18)!important;
  }

  .pill-btn.gold,
  .step-btn.active{
    background:linear-gradient(135deg,#f0d18e,#c6944f)!important;
    color:#160f08!important;
    box-shadow:0 15px 34px rgba(198,148,79,.18),inset 0 1px 0 rgba(255,255,255,.34)!important;
  }

  .tool-input,
  .input-card-v102 input{
    background:rgba(255,255,255,.052)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.024)!important;
  }

  .tool-input:focus,
  .input-card-v102 input:focus{
    background:rgba(255,255,255,.07)!important;
    box-shadow:0 0 0 1px rgba(229,185,117,.18),0 14px 30px rgba(0,0,0,.20)!important;
  }

  .metric-row,
  .budget-metrics-row,
  .input-grid-v102{gap:16px!important;}
  .content-grid,
  .projection-grid-v102{gap:24px!important;}

  .metric-box,
  .input-card-v102,
  .summary-item,
  .list-card{padding:20px!important;}
  .market-row{padding:16px 18px!important;}

  .budget-result-panel>strong,
  .result-panel-v102>strong{
    letter-spacing:-.082em!important;
    text-shadow:0 18px 45px rgba(0,0,0,.32)!important;
  }

  .hero-tool h2,
  .budget-hero-v99 h2,
  .projection-hero h2{
    letter-spacing:-.07em!important;
    text-wrap:balance;
  }

  .flow-bars i,
  .flow-bars b,
  .projection-bar i,
  .projection-bar b,
  .progress-line,
  .progress-line i{border-radius:2px!important;}

  .tool-page *:not(canvas):not(svg):not(path),
  body.budget-v99-page *:not(canvas):not(svg):not(path),
  body.projection-tool-page *:not(canvas):not(svg):not(path){
    border-color:transparent!important;
  }
}

/* =========================
   V150 — hard polish réellement forcé sur toutes les pages outils
   Objectif : coins à peine arrondis, zéro gros arrondi résiduel, profondeur premium.
========================= */
:root{
  --pea-hard-radius:2px;
  --pea-hard-radius-soft:3px;
}
@media screen{
  /* Base globale : tous les gros blocs deviennent quasi carrés */
  html body .glass,
  html body .tool-topbar,
  html body .budget-topbar,
  html body .hero-tool,
  html body .budget-hero-v99,
  html body .projection-hero,
  html body .hero-panel,
  html body .budget-result-panel,
  html body .result-panel-v102,
  html body .section-card,
  html body .form-card,
  html body .flow-card,
  html body .budget-sankey-card,
  html body .budget-sankey,
  html body .budget-verdict-card,
  html body .projection-chart-card,
  html body .tool-verdict-v102,
  html body .fine-compound-chart,
  html body .page-lock-card,
  html body .tool-promo,
  html body .placeholder,
  html body .card,
  html body .hero-decision,
  html body .main-tools-panel,
  html body .tools-panel,
  html body .tools-hero,
  html body .tools-card,
  html body .tool-card,
  html body .category-card,
  html body .summary-item,
  html body .list-card,
  html body .market-row,
  html body .metric-box,
  html body .input-card-v102,
  html body .pea-advice-mini,
  html body .sankey-node,
  html body .projection-bar,
  html body .tool-row,
  html body .budget-row,
  html body .expense-cat-head,
  html body .glass-subcard,
  html body .summary-kpis div,
  html body .flow-main,
  html body .flow-list div,
  html body .budget-insight{
    border-radius:var(--pea-hard-radius)!important;
    border-color:transparent!important;
  }

  /* Les contrôles restent lisibles mais sans effet pilule */
  html body .pill-btn,
  html body .top-actions a,
  html body .top-cta,
  html body .step-tabs,
  html body .step-btn,
  html body .tool-input,
  html body .budget-input,
  html body .input-card-v102 input,
  html body .mini-btn,
  html body .delete-btn,
  html body .row-delete,
  html body .add-row-btn,
  html body .budget-form-actions,
  html body .page-lock-icon,
  html body .page-lock-actions a,
  html body button,
  html body input,
  html body select,
  html body textarea,
  html body .micro-note,
  html body .tool-mini-chip,
  html body .hero-tags span,
  html body .nav-link,
  html body .user-card,
  html body .side-upgrade a{
    border-radius:var(--pea-hard-radius)!important;
    border-color:transparent!important;
  }

  /* Dashboard : même langage visuel que les pages outils */
  html body .sidebar,
  html body .side-upgrade,
  html body .help-chat-panel,
  html body .help-chat-launcher,
  html body .search,
  html body .brand span,
  html body .donut,
  html body .donut:after,
  html body .why-box,
  html body .placeholder{
    border-radius:var(--pea-hard-radius)!important;
  }

  /* Progress / barres : plus de capsule */
  html body .progress-line,
  html body .progress-line i,
  html body .flow-bars i,
  html body .flow-bars b,
  html body .projection-bar i,
  html body .projection-bar b,
  html body .market-row i,
  html body .market-row b,
  html body .split-row i,
  html body .split-row b{
    border-radius:1px!important;
  }

  /* Profondeur premium sans contour visible */
  html body.budget-v99-page .tool-topbar,
  html body.budget-v99-page .budget-topbar,
  html body.budget-v99-page .budget-hero-v99,
  html body.projection-tool-page .projection-hero,
  html body .hero-decision,
  html body .main-tools-panel,
  html body .tools-panel,
  html body .tools-hero{
    background:
      radial-gradient(circle at 16% 0%,rgba(143,107,255,.105),transparent 31%),
      radial-gradient(circle at 92% 0%,rgba(229,185,117,.060),transparent 26%),
      linear-gradient(135deg,rgba(15,16,24,.95),rgba(6,7,12,.985) 62%,rgba(11,10,15,.97))!important;
    box-shadow:
      0 30px 90px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.026),
      inset 0 -1px 0 rgba(0,0,0,.36)!important;
  }

  html body.budget-v99-page .budget-result-panel,
  html body.projection-tool-page .result-panel-v102,
  html body .metric-box,
  html body .category-card,
  html body .summary-item,
  html body .list-card,
  html body .market-row,
  html body .input-card-v102,
  html body .pea-advice-mini,
  html body .sankey-node,
  html body .projection-bar,
  html body .card,
  html body .hero-numbers div,
  html body .tools-card,
  html body .tool-card{
    background:
      radial-gradient(circle at 84% 0%,rgba(229,185,117,.045),transparent 30%),
      linear-gradient(145deg,rgba(255,255,255,.047),rgba(255,255,255,.015) 58%,rgba(0,0,0,.18))!important;
    box-shadow:
      0 16px 45px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.022)!important;
  }

  html body .pill-btn.gold,
  html body .top-cta,
  html body .step-btn.active,
  html body .side-upgrade a{
    background:linear-gradient(135deg,#f2d592,#c7954f)!important;
    color:#150f08!important;
    box-shadow:0 14px 34px rgba(198,148,79,.16),inset 0 1px 0 rgba(255,255,255,.30)!important;
  }
}

/* V151 — angles réellement forcés dans les pages outils */


/* V152 — angles légèrement adoucis dans les pages outils ouvertes en nouvelle fenêtre */
@media screen{
  html body.budget-v99-page,
  html body.projection-tool-page{--tool-angle:6px;--tool-angle-soft:8px;}
  html body.budget-v99-page .tool-topbar,
  html body.budget-v99-page .budget-topbar,
  html body.budget-v99-page .hero-tool,
  html body.budget-v99-page .budget-hero-v99,
  html body.budget-v99-page .hero-panel,
  html body.budget-v99-page .budget-result-panel,
  html body.budget-v99-page .section-card,
  html body.budget-v99-page .form-card,
  html body.budget-v99-page .flow-card,
  html body.budget-v99-page .budget-sankey-card,
  html body.budget-v99-page .budget-sankey,
  html body.budget-v99-page .budget-verdict-card,
  html body.budget-v99-page .glass-subcard,
  html body.budget-v99-page .budget-insight,
  html body.projection-tool-page .tool-topbar,
  html body.projection-tool-page .hero-tool,
  html body.projection-tool-page .projection-hero,
  html body.projection-tool-page .hero-panel,
  html body.projection-tool-page .result-panel-v102,
  html body.projection-tool-page .section-card,
  html body.projection-tool-page .projection-chart-card,
  html body.projection-tool-page .tool-verdict-v102,
  html body.projection-tool-page .fine-compound-chart,
  html body.projection-tool-page .page-lock-card,
  html body.projection-tool-page .glass{
    border-radius:var(--tool-angle)!important;
    border-color:transparent!important;
    outline:0!important;
    overflow:hidden;
  }
  html body.budget-v99-page .metric-box,
  html body.budget-v99-page .pea-advice-mini,
  html body.budget-v99-page .sankey-node,
  html body.budget-v99-page .summary-kpis div,
  html body.budget-v99-page .flow-main,
  html body.budget-v99-page .flow-list div,
  html body.budget-v99-page .budget-row,
  html body.budget-v99-page .expense-cat-head,
  html body.budget-v99-page .tool-row,
  html body.projection-tool-page .metric-box,
  html body.projection-tool-page .input-card-v102,
  html body.projection-tool-page .projection-bar,
  html body.projection-tool-page .milestone-item-v102,
  html body.projection-tool-page .summary-item,
  html body.projection-tool-page .list-card,
  html body.projection-tool-page .market-row{
    border-radius:var(--tool-angle)!important;
    border-color:transparent!important;
    outline:0!important;
  }
  html body.budget-v99-page .pill-btn,
  html body.budget-v99-page .top-actions a,
  html body.budget-v99-page .top-actions button,
  html body.budget-v99-page .step-tabs,
  html body.budget-v99-page .step-btn,
  html body.budget-v99-page .tool-input,
  html body.budget-v99-page .budget-input,
  html body.budget-v99-page .delete-btn,
  html body.budget-v99-page .row-delete,
  html body.budget-v99-page .add-row-btn,
  html body.budget-v99-page .micro-note,
  html body.budget-v99-page .progress-line,
  html body.budget-v99-page .progress-line i,
  html body.projection-tool-page .pill-btn,
  html body.projection-tool-page .top-actions a,
  html body.projection-tool-page .top-actions button,
  html body.projection-tool-page .input-card-v102 input,
  html body.projection-tool-page .tool-input,
  html body.projection-tool-page .micro-note,
  html body.projection-tool-page .tool-mini-chip,
  html body.projection-tool-page .projection-bar i,
  html body.projection-tool-page .projection-bar b,
  html body.projection-tool-page button,
  html body.projection-tool-page input,
  html body.budget-v99-page button,
  html body.budget-v99-page input{
    border-radius:var(--tool-angle)!important;
    border-color:transparent!important;
    outline:0!important;
  }
  html body.budget-v99-page .tool-topbar,
  html body.budget-v99-page .budget-hero-v99,
  html body.projection-tool-page .tool-topbar,
  html body.projection-tool-page .projection-hero{
    background:radial-gradient(circle at 16% 0%,rgba(143,107,255,.10),transparent 31%),radial-gradient(circle at 92% 0%,rgba(229,185,117,.055),transparent 26%),linear-gradient(135deg,rgba(15,16,24,.95),rgba(6,7,12,.985) 62%,rgba(11,10,15,.97))!important;
    box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.024)!important;
  }
  html body.budget-v99-page .budget-result-panel,
  html body.projection-tool-page .result-panel-v102,
  html body.budget-v99-page .metric-box,
  html body.projection-tool-page .metric-box,
  html body.projection-tool-page .input-card-v102{
    background:radial-gradient(circle at 84% 0%,rgba(229,185,117,.045),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.047),rgba(255,255,255,.015) 58%,rgba(0,0,0,.18))!important;
    box-shadow:0 16px 45px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.022)!important;
  }
}




/* V153 — angles premium harmonisés sur toutes les pages outils */
:root{
  --tool-angle-lg:12px;
  --tool-angle-md:10px;
  --tool-angle-sm:8px;
}

.tool-topbar,
.hero-tool,
.hero-panel,
.glass,
.section-card,
.form-card,
.flow-card,
.category-card,
.summary-item,
.list-card,
.market-row,
.page-lock-card,
.projection-chart-card,
.result-panel-v102,
.tool-verdict-v102,
.budget-result-panel,
.budget-sankey-card,
.budget-sankey,
.budget-verdict-card,
.glass-subcard,
.budget-insight,
.projection-tool-hero,
.projection-tool-card,
.projection-tool-summary,
.projection-tool-section,
.projection-tool-kpi,
.projection-tool-disclaimer{
  border-radius:var(--tool-angle-lg)!important;
}

.metric-box,
.pea-advice-mini,
.sankey-node,
.summary-kpis div,
.tool-input,
.step-btn,
.delete-btn,
.mini-btn,
.pill-btn,
.top-actions a,
.top-actions button,
.flow-bars i,
.flow-bars b{
  border-radius:var(--tool-angle-md)!important;
}

.tool-link,
.market-row.header,
.category-head .tool-input,
.projection-top-return,
.projection-tool-chip,
.micro-note{
  border-radius:var(--tool-angle-sm)!important;
}


/* V154 — hybrid premium sur toutes les pages outils */
:root{
  --tool-angle-lg:14px;
  --tool-angle-md:11px;
  --tool-angle-sm:9px;
}

.tool-topbar,
.hero-tool,
.hero-panel,
.glass,
.section-card,
.form-card,
.flow-card,
.category-card,
.summary-item,
.list-card,
.market-row,
.page-lock-card,
.projection-chart-card,
.result-panel-v102,
.tool-verdict-v102,
.budget-result-panel,
.budget-sankey-card,
.budget-sankey,
.budget-verdict-card,
.glass-subcard,
.budget-insight,
.projection-tool-hero,
.projection-tool-card,
.projection-tool-summary,
.projection-tool-section,
.projection-tool-kpi,
.projection-tool-disclaimer{
  border-radius:var(--tool-angle-lg)!important;
}
.metric-box,
.pea-advice-mini,
.sankey-node,
.summary-kpis div,
.tool-input,
.step-btn,
.delete-btn,
.mini-btn,
.pill-btn,
.top-actions a,
.top-actions button,
.flow-bars i,
.flow-bars b,
.budget-tab,
.budget-input,
.row-delete,
.add-row-btn,
.projection-tool-button,
.projection-tool-chip,
.micro-note{
  border-radius:var(--tool-angle-md)!important;
}
.tool-link,
.market-row.header,
.category-head .tool-input,
.projection-top-return{
  border-radius:var(--tool-angle-sm)!important;
}

.tool-topbar,
.hero-tool,
.hero-panel,
.budget-result-panel,
.result-panel-v102,
.projection-tool-hero,
.projection-tool-result,
.projection-tool-card,
.projection-tool-section,
.projection-tool-summary,
.projection-tool-disclaimer,
.glass{
  background:
    radial-gradient(circle at 14% 0%,rgba(143,107,255,.09),transparent 32%),
    radial-gradient(circle at 90% 0%,rgba(223,189,114,.05),transparent 25%),
    linear-gradient(180deg,rgba(14,16,24,.94),rgba(8,10,16,.97))!important;
  border-color:rgba(255,255,255,.055)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.02)!important;
}


/* V155 — polish permanent sur toutes les pages outils */
:root{--tool-angle-lg:14px;--tool-angle-md:11px;--tool-angle-sm:9px;}
.tool-topbar,.hero-tool,.hero-panel,.glass,.section-card,.form-card,.flow-card,.category-card,.summary-item,.list-card,.market-row,.page-lock-card,.projection-chart-card,.result-panel-v102,.tool-verdict-v102,.budget-result-panel,.budget-sankey-card,.budget-sankey,.budget-verdict-card,.glass-subcard,.budget-insight,.projection-tool-hero,.projection-tool-card,.projection-tool-summary,.projection-tool-section,.projection-tool-kpi,.projection-tool-disclaimer{border-radius:var(--tool-angle-lg)!important;}
.metric-box,.pea-advice-mini,.sankey-node,.summary-kpis div,.tool-input,.step-btn,.delete-btn,.mini-btn,.pill-btn,.top-actions a,.top-actions button,.flow-bars i,.flow-bars b,.budget-tab,.budget-input,.row-delete,.add-row-btn,.projection-tool-button,.projection-tool-chip,.micro-note{border-radius:var(--tool-angle-md)!important;}
.tool-link,.market-row.header,.category-head .tool-input,.projection-top-return{border-radius:var(--tool-angle-sm)!important;}


/* V157 — micro-polish final sur pages outils ouvertes */
:root{
  --tool-angle-lg:14px;
  --tool-angle-md:11px;
  --tool-angle-sm:9px;
}

.tool-topbar,.hero-tool,.hero-panel,.glass,.section-card,.form-card,.flow-card,.category-card,.summary-item,.list-card,.market-row,.page-lock-card,.projection-chart-card,.result-panel-v102,.tool-verdict-v102,.budget-result-panel,.budget-sankey-card,.budget-sankey,.budget-verdict-card,.glass-subcard,.budget-insight,.projection-tool-hero,.projection-tool-card,.projection-tool-summary,.projection-tool-section,.projection-tool-kpi,.projection-tool-disclaimer{
  border-radius:var(--tool-angle-lg)!important;
}
.metric-box,.pea-advice-mini,.sankey-node,.summary-kpis div,.tool-input,.step-btn,.delete-btn,.mini-btn,.pill-btn,.top-actions a,.top-actions button,.flow-bars i,.flow-bars b,.budget-tab,.budget-input,.row-delete,.add-row-btn,.projection-tool-button,.projection-tool-chip,.micro-note{
  border-radius:var(--tool-angle-md)!important;
}
.tool-link,.market-row.header,.category-head .tool-input,.projection-top-return{
  border-radius:var(--tool-angle-sm)!important;
}

/* Moins violet, plus sombre/luxe */
.tool-topbar,.hero-tool,.hero-panel,.budget-result-panel,.result-panel-v102,.projection-tool-hero,.projection-tool-result,.projection-tool-card,.projection-tool-section,.projection-tool-summary,.projection-tool-disclaimer,.glass{
  background:
    radial-gradient(circle at 14% 0%,rgba(143,107,255,.065),transparent 28%),
    radial-gradient(circle at 90% 0%,rgba(223,189,114,.040),transparent 23%),
    linear-gradient(180deg,rgba(14,16,24,.96),rgba(7,9,15,.985))!important;
  border-color:rgba(255,255,255,.052)!important;
  box-shadow:0 22px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.018)!important;
}
.metric-box,.summary-kpis div,.pea-advice-mini,.input-card-v102{
  background:
    radial-gradient(circle at 82% 0%,rgba(223,189,114,.030),transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.036),rgba(255,255,255,.012))!important;
  border-color:rgba(255,255,255,.050)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.014)!important;
}


/* V158 — export PDF propre : suppression des blobs décoratifs à l'impression */
@media print{
  html,body{
    background:#030306!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body::before,body::after,
  .budget-v99-page::before,.budget-v99-page::after,
  .projection-tool-page::before,.projection-tool-page::after,
  .projection-long-page::before,.projection-long-page::after,
  .tool-shell::before,.tool-shell::after,
  .tool-main::before,.tool-main::after,
  .tool-topbar::before,.tool-topbar::after,
  .hero-tool::before,.hero-tool::after,
  .budget-hero-v99::before,.budget-hero-v99::after,
  .hero-panel::before,.hero-panel::after,
  .budget-result-panel::before,.budget-result-panel::after,
  .section-card::before,.section-card::after,
  .form-card::before,.form-card::after,
  .flow-card::before,.flow-card::after,
  .budget-sankey-card::before,.budget-sankey-card::after,
  .budget-sankey::before,.budget-sankey::after,
  .budget-verdict-card::before,.budget-verdict-card::after,
  .glass-subcard::before,.glass-subcard::after,
  .budget-insight::before,.budget-insight::after,
  .projection-hero::before,.projection-hero::after,
  .result-panel-v102::before,.result-panel-v102::after,
  .projection-chart-card::before,.projection-chart-card::after,
  .tool-verdict-v102::before,.tool-verdict-v102::after,
  .fine-compound-chart::before,.fine-compound-chart::after,
  .projection-tool-hero::before,.projection-tool-hero::after,
  .projection-tool-result::before,.projection-tool-result::after,
  .projection-tool-card::before,.projection-tool-card::after,
  .projection-tool-section::before,.projection-tool-section::after,
  .glass::before,.glass::after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .tool-topbar,.hero-tool,.budget-hero-v99,.hero-panel,.budget-result-panel,
  .section-card,.form-card,.flow-card,.budget-sankey-card,.budget-sankey,
  .budget-verdict-card,.glass-subcard,.budget-insight,.glass,
  .projection-hero,.result-panel-v102,.projection-chart-card,.tool-verdict-v102,
  .fine-compound-chart,.projection-tool-hero,.projection-tool-result,
  .projection-tool-card,.projection-tool-section{
    background:linear-gradient(180deg,#101219,#07080d)!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    border-color:rgba(255,255,255,.08)!important;
    overflow:hidden!important;
  }

  .help-chat,.help-chat-panel,.help-chat-fab,.help-chat-fab-label,.help-chat-fab-icon{
    display:none!important;
  }
}

/* V158 — garde les pages outils propres en écran, sans blob de fond global */
body.budget-v99-page::before,
body.budget-v99-page::after,
body.projection-tool-page::before,
body.projection-tool-page::after,
body.projection-long-page::before,
body.projection-long-page::after{
  display:none!important;
  content:none!important;
}



/* V162 — export PDF outils propre : zéro halos / arcs / diagonales */
@media print{
  html,
  body,
  body.budget-v99-page,
  body.projection-tool-page,
  body.projection-long-page{
    background:#030306!important;
    background-image:none!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.budget-v99-page *,
  body.projection-tool-page *,
  body.projection-long-page *{
    box-shadow:none!important;
    text-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body.budget-v99-page *::before,
  body.budget-v99-page *::after,
  body.projection-tool-page *::before,
  body.projection-tool-page *::after,
  body.projection-long-page *::before,
  body.projection-long-page *::after{
    content:none!important;
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    background:none!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
  }

  .tool-shell,
  .tool-main,
  .budget-main,
  .projection-long-main{
    background:#030306!important;
    background-image:none!important;
  }

  .tool-topbar,
  .budget-topbar,
  .hero-tool,
  .budget-hero-v99,
  .projection-hero,
  .projection-tool-hero,
  .hero-panel,
  .budget-result-panel,
  .result-panel-v102,
  .section-card,
  .form-card,
  .flow-card,
  .budget-sankey-card,
  .budget-sankey,
  .budget-verdict-card,
  .glass-subcard,
  .budget-insight,
  .projection-chart-card,
  .tool-verdict-v102,
  .fine-compound-chart,
  .projection-tool-result,
  .projection-tool-card,
  .projection-tool-section,
  .projection-tool-summary,
  .projection-tool-disclaimer,
  .glass{
    background:#080910!important;
    background-image:none!important;
    border:1px solid rgba(255,255,255,.075)!important;
    box-shadow:none!important;
    outline:none!important;
    overflow:hidden!important;
  }

  .metric-box,
  .pea-advice-mini,
  .summary-kpis div,
  .sankey-node,
  .flow-main,
  .flow-list div,
  .summary-item,
  .list-card,
  .market-row,
  .input-card-v102,
  .projection-bar,
  .milestone-item-v102{
    background:#0d0e15!important;
    background-image:none!important;
    border:1px solid rgba(255,255,255,.07)!important;
    box-shadow:none!important;
  }

  .tool-sidebar,
  .budget-form-actions,
  .tool-form-save-row,
  .top-actions,
  .sankey-actions,
  .help-chat,
  .help-chat-panel,
  .help-chat-fab,
  .help-chat-fab-label,
  .help-chat-fab-icon{
    display:none!important;
  }
}



/* V163 — suppression réelle des blobs/halos outils, compatible export canvas/PDF */
body.budget-v99-page,
body.projection-tool-page,
body.projection-long-page{
  background:#030306!important;
  background-image:linear-gradient(180deg,#030306,#07070d 52%,#030306)!important;
}

body.budget-v99-page::before,
body.budget-v99-page::after,
body.projection-tool-page::before,
body.projection-tool-page::after,
body.projection-long-page::before,
body.projection-long-page::after,
body.budget-v99-page .tool-shell::before,
body.budget-v99-page .tool-shell::after,
body.budget-v99-page .tool-main::before,
body.budget-v99-page .tool-main::after,
body.budget-v99-page .tool-topbar::before,
body.budget-v99-page .tool-topbar::after,
body.budget-v99-page .budget-topbar::before,
body.budget-v99-page .budget-topbar::after,
body.budget-v99-page .hero-tool::before,
body.budget-v99-page .hero-tool::after,
body.budget-v99-page .budget-hero-v99::before,
body.budget-v99-page .budget-hero-v99::after,
body.budget-v99-page .hero-panel::before,
body.budget-v99-page .hero-panel::after,
body.budget-v99-page .budget-result-panel::before,
body.budget-v99-page .budget-result-panel::after,
body.budget-v99-page .section-card::before,
body.budget-v99-page .section-card::after,
body.budget-v99-page .form-card::before,
body.budget-v99-page .form-card::after,
body.budget-v99-page .flow-card::before,
body.budget-v99-page .flow-card::after,
body.budget-v99-page .budget-sankey-card::before,
body.budget-v99-page .budget-sankey-card::after,
body.budget-v99-page .budget-sankey::before,
body.budget-v99-page .budget-sankey::after,
body.budget-v99-page .budget-verdict-card::before,
body.budget-v99-page .budget-verdict-card::after,
body.budget-v99-page .glass-subcard::before,
body.budget-v99-page .glass-subcard::after,
body.budget-v99-page .budget-insight::before,
body.budget-v99-page .budget-insight::after{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Nettoyage visuel permanent des pages outils : plus de grosses formes décoratives capturées en PDF */
body.budget-v99-page .tool-topbar,
body.budget-v99-page .budget-topbar,
body.budget-v99-page .hero-tool,
body.budget-v99-page .budget-hero-v99,
body.budget-v99-page .hero-panel,
body.budget-v99-page .budget-result-panel,
body.budget-v99-page .section-card,
body.budget-v99-page .form-card,
body.budget-v99-page .flow-card,
body.budget-v99-page .budget-sankey-card,
body.budget-v99-page .budget-sankey,
body.budget-v99-page .budget-verdict-card,
body.budget-v99-page .glass-subcard,
body.budget-v99-page .budget-insight,
body.budget-v99-page .glass{
  background:
    radial-gradient(circle at 12% 0%,rgba(143,107,255,.045),transparent 26%),
    linear-gradient(180deg,rgba(13,15,22,.96),rgba(5,6,10,.985))!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 20px 58px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.018)!important;
  overflow:hidden!important;
}

body.budget-v99-page .budget-result-panel,
body.budget-v99-page .metric-box,
body.budget-v99-page .pea-advice-mini,
body.budget-v99-page .summary-kpis div,
body.budget-v99-page .sankey-node,
body.budget-v99-page .flow-main,
body.budget-v99-page .flow-list div,
body.budget-v99-page .budget-row,
body.budget-v99-page .expense-cat-head,
body.budget-v99-page .tool-row{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  border-color:rgba(255,255,255,.06)!important;
  box-shadow:none!important;
}

body.budget-v99-page .sankey-svg path,
body.budget-v99-page svg path{
  filter:none!important;
}

/* Classe utilisée pendant l’export PDF/capture */
body.pea-export-clean,
body.pea-export-clean *{
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-shadow:none!important;
}
body.pea-export-clean::before,
body.pea-export-clean::after,
body.pea-export-clean *::before,
body.pea-export-clean *::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.pea-export-clean .tool-topbar,
body.pea-export-clean .budget-topbar,
body.pea-export-clean .hero-tool,
body.pea-export-clean .budget-hero-v99,
body.pea-export-clean .hero-panel,
body.pea-export-clean .budget-result-panel,
body.pea-export-clean .section-card,
body.pea-export-clean .form-card,
body.pea-export-clean .flow-card,
body.pea-export-clean .budget-sankey-card,
body.pea-export-clean .budget-sankey,
body.pea-export-clean .budget-verdict-card,
body.pea-export-clean .glass-subcard,
body.pea-export-clean .budget-insight,
body.pea-export-clean .glass{
  background:#080910!important;
  background-image:none!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.075)!important;
}

/* Même nettoyage en impression navigateur */
@media print{
  body.budget-v99-page,
  body.budget-v99-page *{
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-shadow:none!important;
  }
  body.budget-v99-page,
  body.budget-v99-page .tool-main,
  body.budget-v99-page .budget-main{
    background:#030306!important;
    background-image:none!important;
  }
  body.budget-v99-page::before,
  body.budget-v99-page::after,
  body.budget-v99-page *::before,
  body.budget-v99-page *::after{
    content:none!important;
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    background:none!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  body.budget-v99-page .tool-topbar,
  body.budget-v99-page .budget-topbar,
  body.budget-v99-page .hero-tool,
  body.budget-v99-page .budget-hero-v99,
  body.budget-v99-page .hero-panel,
  body.budget-v99-page .budget-result-panel,
  body.budget-v99-page .section-card,
  body.budget-v99-page .form-card,
  body.budget-v99-page .flow-card,
  body.budget-v99-page .budget-sankey-card,
  body.budget-v99-page .budget-sankey,
  body.budget-v99-page .budget-verdict-card,
  body.budget-v99-page .glass-subcard,
  body.budget-v99-page .budget-insight,
  body.budget-v99-page .glass{
    background:#080910!important;
    background-image:none!important;
    box-shadow:none!important;
    border:1px solid rgba(255,255,255,.075)!important;
  }
}

/* === V164 budget flow redesign === */
body.budget-v99-page .budget-content-grid-top{
  margin-top:30px;
  align-items:start;
}
body.budget-v99-page .budget-form-shell{
  padding:24px;
}
body.budget-v99-page .budget-form-shell-head{
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
body.budget-v99-page .budget-form-shell-head h2{
  margin:8px 0 0;
  font-size:clamp(1.45rem,2.2vw,2.05rem);
  letter-spacing:-.05em;
  line-height:1.02;
}
body.budget-v99-page .budget-form-shell .sankey-subtitle{
  margin-top:10px;
  max-width:720px;
}

body.budget-v99-page .budget-sankey-card-v2{
  margin-top:30px;
  padding:28px;
  background:linear-gradient(180deg,rgba(10,12,21,.96),rgba(6,7,14,.98))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body.budget-v99-page .budget-sankey-card-v2 .sankey-head{
  margin-bottom:18px;
}
body.budget-v99-page .budget-sankey-card-v2 .sankey-head h2{
  margin:7px 0 0;
  font-size:clamp(1.7rem,2.5vw,2.55rem);
  line-height:1.02;
  letter-spacing:-.06em;
}
body.budget-v99-page .budget-sankey-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
body.budget-v99-page .budget-sankey-step{
  padding:14px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));
  border:1px solid rgba(255,255,255,.065);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  border-radius:16px;
}
body.budget-v99-page .budget-sankey-step span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(229,185,117,.12);
  color:var(--gold);
  font-size:11px;
  letter-spacing:.16em;
  font-weight:800;
  margin-bottom:12px;
}
body.budget-v99-page .budget-sankey-step strong{
  display:block;
  color:#fff;
  font-size:1rem;
  letter-spacing:-.03em;
  margin-bottom:4px;
}
body.budget-v99-page .budget-sankey-step small{
  display:block;
  color:#b7b0c4;
  font-size:.85rem;
  line-height:1.45;
}

body.budget-v99-page .budget-sankey{
  display:grid!important;
  grid-template-columns:250px minmax(320px,1fr) 280px!important;
  gap:18px!important;
  align-items:stretch;
  min-height:390px;
  padding:18px;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.01))!important;
  border:1px solid rgba(255,255,255,.05)!important;
  overflow:hidden!important;
  position:relative;
}
body.budget-v99-page .budget-sankey::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(229,185,117,.03) 0%, rgba(229,185,117,.01) 24%, transparent 24%, transparent 76%, rgba(143,107,255,.015) 76%, rgba(143,107,255,.03) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 32%, transparent 68%, rgba(255,255,255,.02));
  pointer-events:none;
}
body.budget-v99-page .budget-sankey>*{position:relative;z-index:1;}

body.budget-v99-page .sankey-stage-card{
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.06);
  min-height:100%;
}
body.budget-v99-page .sankey-stage-card .sankey-stage-title{
  color:#fff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.03em;
  margin-bottom:6px;
}
body.budget-v99-page .sankey-stage-card>small{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:800;
  margin-bottom:14px;
}
body.budget-v99-page .sankey-stage-card #sankeyIncomeNodes,
body.budget-v99-page .sankey-stage-card #sankeyOutputNodes{
  display:grid;
  gap:12px;
}
body.budget-v99-page .sankey-node{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 16px 30px rgba(0,0,0,.18)!important;
}
body.budget-v99-page .sankey-node span{
  margin:0!important;
  color:#b7b0c4!important;
  font-size:.84rem!important;
  line-height:1.4;
  max-width:70%;
}
body.budget-v99-page .sankey-node strong{
  margin-left:auto;
  text-align:right;
  font-size:1rem!important;
  white-space:nowrap;
}
body.budget-v99-page .sankey-node.income{border-color:rgba(112,183,255,.14)!important;}
body.budget-v99-page .sankey-node.invest{border-color:rgba(229,185,117,.18)!important;}
body.budget-v99-page .sankey-node.expense{border-color:rgba(155,140,255,.18)!important;}
body.budget-v99-page .sankey-node.available{border-color:rgba(105,224,176,.18)!important;}

body.budget-v99-page .sankey-center-zone{
  position:relative;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(12,14,25,.72),rgba(8,9,16,.9));
  border:1px solid rgba(255,255,255,.045);
  overflow:hidden;
}
body.budget-v99-page .sankey-center-zone::before,
body.budget-v99-page .sankey-center-zone::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
}
body.budget-v99-page .sankey-center-zone::before{top:84px;}
body.budget-v99-page .sankey-center-zone::after{bottom:84px;}
body.budget-v99-page .sankey-center-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(8,9,17,.82);
  border:1px solid rgba(255,255,255,.09);
  color:#fff;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 12px 24px rgba(0,0,0,.20);
}
body.budget-v99-page .sankey-center-invest{top:34px;border-color:rgba(229,185,117,.18);}
body.budget-v99-page .sankey-center-expense{top:50%;transform:translate(-50%,-50%);border-color:rgba(155,140,255,.18);}
body.budget-v99-page .sankey-center-available{bottom:34px;border-color:rgba(105,224,176,.18);}

body.budget-v99-page .sankey-svg{
  width:100%;
  height:300px;
  overflow:visible;
  z-index:1;
}
body.budget-v99-page .sankey-svg path{
  fill:none;
  stroke-linecap:round;
  filter:drop-shadow(0 0 18px rgba(0,0,0,.2));
  opacity:.98;
}
body.budget-v99-page #sankeyInvestPath{stroke:#e5be79!important;}
body.budget-v99-page #sankeyExpensePath{stroke:#b499ff!important;}
body.budget-v99-page #sankeyAvailablePath{stroke:#70dfb3!important;}

body.budget-v99-page .sankey-note{
  margin-top:16px;
  color:#bcb4c9;
  font-size:.92rem;
  line-height:1.65;
}

@media(max-width:1180px){
  body.budget-v99-page .budget-sankey-steps{grid-template-columns:1fr;}
  body.budget-v99-page .budget-sankey{grid-template-columns:1fr!important;min-height:auto;padding:16px;}
  body.budget-v99-page .sankey-center-zone{min-height:250px;order:2;}
  body.budget-v99-page .sankey-stage-card--left{order:1;}
  body.budget-v99-page .sankey-stage-card--right{order:3;}
}
@media(max-width:720px){
  body.budget-v99-page .budget-form-shell,
  body.budget-v99-page .budget-sankey-card-v2{padding:20px;}
  body.budget-v99-page .sankey-node{display:grid;gap:4px;}
  body.budget-v99-page .sankey-node span,
  body.budget-v99-page .sankey-node strong{max-width:100%;text-align:left;margin-left:0;}
  body.budget-v99-page .sankey-center-label{font-size:.76rem;padding:9px 12px;}
}


/* === V165 budget flow killer redesign === */
body.budget-v99-page .budget-income-strip{
  margin-top:30px;
  padding:24px 24px 22px;
  background:linear-gradient(180deg,rgba(10,12,21,.96),rgba(7,9,16,.98))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body.budget-v99-page .budget-income-strip-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
body.budget-v99-page .budget-income-strip-head h2{
  margin:8px 0 0;
  font-size:clamp(1.55rem,2.3vw,2.2rem);
  line-height:1.03;
  letter-spacing:-.055em;
}
body.budget-v99-page .budget-income-badge{
  display:grid;
  gap:6px;
  min-width:170px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.065);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
body.budget-v99-page .budget-income-badge span{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--gold);
}
body.budget-v99-page .budget-income-badge strong{
  font-size:1rem;
  color:#fff;
  letter-spacing:-.03em;
}
body.budget-v99-page .budget-income-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
}
body.budget-v99-page .budget-income-grid .sankey-node{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px 16px 15px;
  background:linear-gradient(180deg,rgba(116,150,255,.12),rgba(255,255,255,.02))!important;
  border:1px solid rgba(116,150,255,.14)!important;
}
body.budget-v99-page .budget-income-grid .sankey-node span{
  color:#cbc4d9!important;
  max-width:100%;
}
body.budget-v99-page .budget-income-grid .sankey-node strong{
  text-align:left;
  margin-left:0;
  font-size:1.32rem!important;
}

body.budget-v99-page .budget-sankey-card-v3{
  margin-top:24px;
  padding:26px;
  background:linear-gradient(180deg,rgba(10,12,21,.96),rgba(6,7,14,.99))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 30px 82px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.028)!important;
}
body.budget-v99-page .budget-sankey-card-v3 .sankey-head{margin-bottom:16px;}
body.budget-v99-page .budget-sankey-card-v3 .sankey-head h2{
  margin:8px 0 0;
  font-size:clamp(1.85rem,2.8vw,2.8rem);
  letter-spacing:-.065em;
  line-height:1.01;
}
body.budget-v99-page .flow-legend{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
body.budget-v99-page .flow-legend-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
}
body.budget-v99-page .flow-legend-item i,
body.budget-v99-page .sankey-lane-label i{
  display:block;
  width:12px;
  min-width:12px;
  height:12px;
  border-radius:999px;
  margin-top:4px;
}
body.budget-v99-page .flow-legend-item.invest i,
body.budget-v99-page .lane-invest .sankey-lane-label i{background:#e5be79;box-shadow:0 0 20px rgba(229,190,121,.28);}
body.budget-v99-page .flow-legend-item.expense i,
body.budget-v99-page .lane-expense .sankey-lane-label i{background:#b499ff;box-shadow:0 0 20px rgba(180,153,255,.22);}
body.budget-v99-page .flow-legend-item.available i,
body.budget-v99-page .lane-available .sankey-lane-label i{background:#70dfb3;box-shadow:0 0 20px rgba(112,223,179,.22);}
body.budget-v99-page .flow-legend-item strong{
  display:block;
  color:#fff;
  font-size:.96rem;
  letter-spacing:-.03em;
  margin-bottom:3px;
}
body.budget-v99-page .flow-legend-item small{
  display:block;
  color:#b7b0c4;
  font-size:.84rem;
  line-height:1.45;
}

body.budget-v99-page .budget-sankey-v3{
  display:grid!important;
  grid-template-columns:250px minmax(420px,1fr) 280px!important;
  gap:18px!important;
  align-items:stretch;
  min-height:390px;
  padding:18px;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  overflow:hidden!important;
  position:relative;
}
body.budget-v99-page .budget-sankey-v3::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 18% 18%,rgba(122,91,255,.08),transparent 28%), radial-gradient(circle at 82% 22%,rgba(229,190,121,.07),transparent 24%);
}
body.budget-v99-page .budget-sankey-v3>*{position:relative;z-index:1;}

body.budget-v99-page .flow-overview-card,
body.budget-v99-page .sankey-stage-card--outputs{
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.06);
}
body.budget-v99-page .flow-overview-card h3{
  margin:8px 0 10px;
  color:#fff;
  font-size:1.25rem;
  letter-spacing:-.045em;
}
body.budget-v99-page .flow-overview-card p{
  color:#bdb5ca;
  font-size:.92rem;
  line-height:1.62;
  margin:0;
}
body.budget-v99-page .flow-overview-points{
  display:grid;
  gap:10px;
  margin-top:18px;
}
body.budget-v99-page .flow-overview-points div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.05);
}
body.budget-v99-page .flow-overview-points b{
  display:block;
  width:7px;
  min-width:7px;
  height:7px;
  border-radius:999px;
  background:var(--gold);
  box-shadow:0 0 16px rgba(229,185,117,.30);
}
body.budget-v99-page .flow-overview-points span{
  color:#fff;
  font-size:.88rem;
  line-height:1.4;
}

body.budget-v99-page .sankey-center-zone-v3{
  position:relative;
  min-height:330px;
  padding:26px 26px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(12,14,25,.82),rgba(8,9,16,.96));
  border:1px solid rgba(255,255,255,.045);
  overflow:hidden;
}
body.budget-v99-page .sankey-center-zone-v3::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
}
body.budget-v99-page .sankey-lane{
  position:relative;
  z-index:2;
  min-height:68px;
  display:flex;
  align-items:center;
}
body.budget-v99-page .sankey-lane-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 14px;
  border-radius:16px;
  background:rgba(9,10,19,.76);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 12px 24px rgba(0,0,0,.20);
}
body.budget-v99-page .sankey-lane-label strong{
  display:block;
  color:#fff;
  font-size:.94rem;
  letter-spacing:-.03em;
  margin-bottom:2px;
}
body.budget-v99-page .sankey-lane-label small{
  display:block;
  color:#b8b0c4;
  font-size:.78rem;
  line-height:1.45;
}
body.budget-v99-page .sankey-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:visible;
}
body.budget-v99-page .sankey-svg path{
  fill:none;
  stroke-linecap:round;
  opacity:.98;
  filter:drop-shadow(0 0 18px rgba(0,0,0,.18));
}
body.budget-v99-page #sankeyInvestPath{stroke:#e5be79!important;}
body.budget-v99-page #sankeyExpensePath{stroke:#b499ff!important;}
body.budget-v99-page #sankeyAvailablePath{stroke:#70dfb3!important;}

body.budget-v99-page .sankey-stage-card--outputs .sankey-stage-title{
  color:#fff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.03em;
  margin-bottom:6px;
}
body.budget-v99-page .sankey-stage-card--outputs>small{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:800;
  margin-bottom:14px;
}
body.budget-v99-page .sankey-stage-card--outputs #sankeyOutputNodes{
  display:grid;
  gap:12px;
}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.075)!important;
  box-shadow:0 16px 30px rgba(0,0,0,.18)!important;
}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node span{
  color:#c7c0d4!important;
  max-width:68%;
}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node strong{
  margin-left:auto;
  text-align:right;
  font-size:1.05rem!important;
}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node.invest{border-color:rgba(229,185,117,.18)!important;}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node.expense{border-color:rgba(155,140,255,.18)!important;}
body.budget-v99-page .sankey-stage-card--outputs .sankey-node.available{border-color:rgba(105,224,176,.18)!important;}

@media(max-width:1180px){
  body.budget-v99-page .flow-legend{grid-template-columns:1fr;}
  body.budget-v99-page .budget-sankey-v3{grid-template-columns:1fr!important;min-height:auto;}
  body.budget-v99-page .sankey-center-zone-v3{min-height:320px;order:2;}
  body.budget-v99-page .flow-overview-card{order:1;}
  body.budget-v99-page .sankey-stage-card--outputs{order:3;}
}
@media(max-width:720px){
  body.budget-v99-page .budget-income-strip,
  body.budget-v99-page .budget-sankey-card-v3{padding:20px;}
  body.budget-v99-page .budget-income-strip-head{display:grid;}
  body.budget-v99-page .budget-income-grid{grid-template-columns:1fr;}
  body.budget-v99-page .sankey-stage-card--outputs .sankey-node,
  body.budget-v99-page .budget-income-grid .sankey-node{display:grid;gap:6px;}
  body.budget-v99-page .sankey-stage-card--outputs .sankey-node span,
  body.budget-v99-page .sankey-stage-card--outputs .sankey-node strong,
  body.budget-v99-page .budget-income-grid .sankey-node strong{text-align:left;max-width:100%;margin-left:0;}
  body.budget-v99-page .sankey-center-zone-v3{padding:18px;min-height:280px;}
  body.budget-v99-page .sankey-lane-label{max-width:100%;}
}


/* === V166 budget flow sellable redesign === */
body.budget-v99-page .budget-income-strip-v2,
body.budget-v99-page .budget-flow-showcase{
  margin-top:28px;
  padding:24px;
  background:linear-gradient(180deg,rgba(10,12,21,.96),rgba(7,8,15,.985))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body.budget-v99-page .budget-income-strip-v2 .budget-income-strip-head,
body.budget-v99-page .budget-flow-showcase-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
body.budget-v99-page .budget-income-strip-v2 h2,
body.budget-v99-page .budget-flow-showcase-head h2{
  margin:8px 0 0;
  font-size:clamp(1.8rem,2.8vw,2.7rem);
  line-height:1.02;
  letter-spacing:-.06em;
}
body.budget-v99-page .budget-income-strip-v2 .sankey-subtitle,
body.budget-v99-page .budget-flow-showcase-head .sankey-subtitle{
  margin:10px 0 0;
  max-width:780px;
  color:#b9b1c7;
  font-size:.98rem;
  line-height:1.58;
}
body.budget-v99-page .budget-income-badge{
  min-width:180px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
}
body.budget-v99-page .budget-income-badge span{
  display:block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}
body.budget-v99-page .budget-income-badge strong{
  display:block;
  margin-top:7px;
  font-size:1rem;
  letter-spacing:-.03em;
  color:#fff;
}
body.budget-v99-page .budget-income-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
  margin-top:16px;
}
body.budget-v99-page .budget-income-grid .sankey-node{
  min-height:92px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(81,110,255,.13),rgba(255,255,255,.02))!important;
  border:1px solid rgba(114,142,255,.14)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.16)!important;
}
body.budget-v99-page .budget-income-grid .sankey-node span{color:#c7c1d6!important;}
body.budget-v99-page .budget-income-grid .sankey-node strong{text-align:left;margin-left:0;font-size:1.32rem!important;}

body.budget-v99-page .budget-flow-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 16px;
}
body.budget-v99-page .budget-flow-legend-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  color:#fff;
  font-size:.92rem;
  font-weight:700;
}
body.budget-v99-page .budget-flow-legend-item i,
body.budget-v99-page .flow-allocation-label i{
  display:block;
  width:10px;
  min-width:10px;
  height:10px;
  border-radius:999px;
}
body.budget-v99-page .budget-flow-legend-item.invest i,
body.budget-v99-page .flow-allocation-row.invest .flow-allocation-label i{background:#e5be79;box-shadow:0 0 18px rgba(229,190,121,.28);}
body.budget-v99-page .budget-flow-legend-item.expense i,
body.budget-v99-page .flow-allocation-row.expense .flow-allocation-label i{background:#b499ff;box-shadow:0 0 18px rgba(180,153,255,.22);}
body.budget-v99-page .budget-flow-legend-item.available i,
body.budget-v99-page .flow-allocation-row.available .flow-allocation-label i{background:#70dfb3;box-shadow:0 0 18px rgba(112,223,179,.22);}

body.budget-v99-page .budget-flow-board{
  display:grid!important;
  grid-template-columns:280px minmax(420px,1fr) 290px!important;
  gap:18px;
  align-items:stretch;
  padding:18px;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.012))!important;
  border:1px solid rgba(255,255,255,.05)!important;
}
body.budget-v99-page .budget-flow-summary-card,
body.budget-v99-page .budget-flow-center-panel,
body.budget-v99-page .budget-flow-output-card{
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.06);
}
body.budget-v99-page .budget-flow-summary-card{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.budget-v99-page .budget-flow-summary-card h3,
body.budget-v99-page .budget-flow-center-head h3,
body.budget-v99-page .budget-flow-output-card h3{
  margin:8px 0 0;
  color:#fff;
  font-size:1.24rem;
  letter-spacing:-.05em;
}
body.budget-v99-page .flow-total-value{
  font-size:2.4rem;
  font-weight:800;
  letter-spacing:-.07em;
  color:#fff;
}
body.budget-v99-page #flowBudgetSubtitle,
body.budget-v99-page .budget-flow-output-card p{
  margin:0;
  color:#b7b0c4;
  font-size:.92rem;
  line-height:1.58;
}
body.budget-v99-page .flow-summary-metrics{
  display:grid;
  gap:10px;
}
body.budget-v99-page .flow-summary-metrics div,
body.budget-v99-page .flow-summary-tip{
  padding:12px 14px;
  border-radius:15px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.055);
}
body.budget-v99-page .flow-summary-metrics span{
  display:block;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--gold);
  font-weight:800;
  margin-bottom:7px;
}
body.budget-v99-page .flow-summary-metrics strong{font-size:1rem;color:#fff;letter-spacing:-.03em;}
body.budget-v99-page .flow-summary-tip{color:#d7d1e4;font-size:.9rem;line-height:1.6;}

body.budget-v99-page .budget-flow-center-panel{padding:18px;position:relative;overflow:hidden;}
body.budget-v99-page .budget-flow-center-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
body.budget-v99-page .budget-flow-center-head small{
  color:#b7b0c4;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}
body.budget-v99-page .flow-allocation-rows{display:grid;gap:16px;}
body.budget-v99-page .flow-allocation-row{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,10,18,.92),rgba(11,13,22,.86));
  border:1px solid rgba(255,255,255,.055);
  box-shadow:0 18px 36px rgba(0,0,0,.16);
}
body.budget-v99-page .flow-allocation-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
body.budget-v99-page .flow-allocation-label{display:flex;align-items:flex-start;gap:10px;}
body.budget-v99-page .flow-allocation-label strong{display:block;color:#fff;font-size:1rem;letter-spacing:-.03em;}
body.budget-v99-page .flow-allocation-label small{display:block;color:#b8b1c5;font-size:.82rem;line-height:1.45;margin-top:4px;}
body.budget-v99-page .flow-allocation-values{text-align:right;}
body.budget-v99-page .flow-allocation-values strong{display:block;color:#fff;font-size:1.06rem;letter-spacing:-.03em;}
body.budget-v99-page .flow-allocation-values small{display:block;color:#b8b1c5;font-size:.82rem;margin-top:4px;}
body.budget-v99-page .flow-allocation-track{
  position:relative;
  height:14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}
body.budget-v99-page .flow-allocation-fill{
  height:100%;
  border-radius:inherit;
}
body.budget-v99-page .flow-allocation-row.invest .flow-allocation-fill{background:linear-gradient(90deg,#f2d093,#e5be79);box-shadow:0 0 24px rgba(229,190,121,.25);}
body.budget-v99-page .flow-allocation-row.expense .flow-allocation-fill{background:linear-gradient(90deg,#c7b0ff,#b499ff);box-shadow:0 0 24px rgba(180,153,255,.20);}
body.budget-v99-page .flow-allocation-row.available .flow-allocation-fill{background:linear-gradient(90deg,#8de9c2,#70dfb3);box-shadow:0 0 24px rgba(112,223,179,.18);}
body.budget-v99-page .flow-priority-card{
  margin-top:16px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(92,60,180,.18),rgba(255,255,255,.018));
  border:1px solid rgba(168,138,255,.16);
}
body.budget-v99-page .flow-priority-card span,
body.budget-v99-page .budget-verdict-card span{
  display:block;
  color:var(--gold);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}
body.budget-v99-page .flow-priority-card strong,
body.budget-v99-page .budget-verdict-card strong{
  display:block;
  color:#fff;
  margin-top:8px;
  font-size:1.06rem;
  letter-spacing:-.03em;
}
body.budget-v99-page .flow-priority-card p,
body.budget-v99-page .budget-verdict-card p{
  margin:8px 0 0;
  color:#d1cbe0;
  line-height:1.58;
  font-size:.92rem;
}
body.budget-v99-page .legacy-sankey-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;}

body.budget-v99-page .budget-flow-output-card{padding:18px;}
body.budget-v99-page .budget-output-grid{display:grid;gap:12px;margin-top:14px;}
body.budget-v99-page .budget-output-grid .sankey-node{
  padding:16px;
  border-radius:18px!important;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
body.budget-v99-page .budget-output-grid .sankey-node span{display:block;max-width:68%;color:#c8c2d5!important;}
body.budget-v99-page .budget-output-grid .sankey-node strong{display:block;margin-left:auto;text-align:right;font-size:1.08rem!important;}
body.budget-v99-page .budget-output-grid .sankey-node.invest{border-color:rgba(229,190,121,.20)!important;background:linear-gradient(180deg,rgba(229,190,121,.09),rgba(255,255,255,.02))!important;}
body.budget-v99-page .budget-output-grid .sankey-node.expense{border-color:rgba(180,153,255,.18)!important;background:linear-gradient(180deg,rgba(180,153,255,.09),rgba(255,255,255,.02))!important;}
body.budget-v99-page .budget-output-grid .sankey-node.available{border-color:rgba(112,223,179,.18)!important;background:linear-gradient(180deg,rgba(112,223,179,.085),rgba(255,255,255,.02))!important;}
body.budget-v99-page .sankey-note{margin:16px 2px 0;color:#bfb7cb;font-size:.93rem;line-height:1.6;}
body.budget-v99-page .budget-verdict-card{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.065)!important;
}

@media(max-width:1200px){
  body.budget-v99-page .budget-flow-board{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  body.budget-v99-page .budget-income-strip-v2,
  body.budget-v99-page .budget-flow-showcase{padding:20px;}
  body.budget-v99-page .budget-income-strip-v2 .budget-income-strip-head,
  body.budget-v99-page .budget-flow-showcase-head,
  body.budget-v99-page .budget-flow-center-head{display:grid;}
  body.budget-v99-page .budget-income-grid{grid-template-columns:1fr;}
  body.budget-v99-page .flow-allocation-top,
  body.budget-v99-page .budget-output-grid .sankey-node{display:grid;}
  body.budget-v99-page .flow-allocation-values,
  body.budget-v99-page .budget-output-grid .sankey-node strong{text-align:left;margin-left:0;}
}


/* === V167 budget flow clean / sellable === */
body.budget-v99-page .budget-income-strip-v2{
  display:none!important;
}

body.budget-v99-page .budget-flow-showcase-v167{
  margin-top:30px;
  padding:26px;
  background:linear-gradient(180deg,rgba(10,12,21,.96),rgba(6,7,14,.99))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 30px 82px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.028)!important;
}

body.budget-v99-page .budget-flow-showcase-v167 .budget-flow-showcase-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

body.budget-v99-page .budget-flow-showcase-v167 h2{
  margin:8px 0 0;
  font-size:clamp(1.8rem,2.6vw,2.65rem);
  line-height:1.02;
  letter-spacing:-.06em;
}

body.budget-v99-page .budget-flow-showcase-v167 .sankey-subtitle{
  max-width:780px;
  margin:10px 0 0;
  color:#b9b1c7;
  line-height:1.6;
}

body.budget-v99-page .budget-flow-dashboard{
  display:grid!important;
  grid-template-columns:280px minmax(420px,1fr) 280px!important;
  gap:18px;
  align-items:stretch;
  padding:18px;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.012))!important;
  border:1px solid rgba(255,255,255,.05)!important;
}

body.budget-v99-page .flow-master-card,
body.budget-v99-page .flow-allocation-panel,
body.budget-v99-page .flow-destination-panel{
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}

body.budget-v99-page .flow-master-card,
body.budget-v99-page .flow-destination-panel{
  padding:18px;
}

body.budget-v99-page .flow-master-card h3,
body.budget-v99-page .flow-allocation-panel h3,
body.budget-v99-page .flow-destination-panel h3{
  margin:8px 0 0;
  color:#fff;
  font-size:1.22rem;
  letter-spacing:-.05em;
}

body.budget-v99-page .flow-master-card > strong{
  display:block;
  margin:18px 0 8px;
  color:#fff;
  font-size:2.5rem;
  line-height:.95;
  letter-spacing:-.07em;
}

body.budget-v99-page .flow-master-card p,
body.budget-v99-page .flow-destination-panel p{
  margin:0;
  color:#b7b0c4;
  font-size:.92rem;
  line-height:1.58;
}

body.budget-v99-page .flow-master-line{
  margin-top:12px;
  padding:12px 14px;
  border-radius:15px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.055);
}

body.budget-v99-page .flow-master-line span{
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--gold);
  font-weight:800;
  margin-bottom:7px;
}

body.budget-v99-page .flow-master-line b{
  color:#fff;
  font-size:1rem;
  letter-spacing:-.03em;
}

body.budget-v99-page .flow-allocation-panel{
  padding:18px;
}

body.budget-v99-page .flow-allocation-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:16px;
}

body.budget-v99-page .flow-allocation-panel-head small{
  color:#b7b0c4;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}

body.budget-v99-page .flow-allocation-rows{
  display:grid;
  gap:14px;
}

body.budget-v99-page .flow-allocation-row{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,10,18,.92),rgba(11,13,22,.86))!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.16)!important;
}

body.budget-v99-page .flow-allocation-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

body.budget-v99-page .flow-allocation-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

body.budget-v99-page .flow-allocation-label i{
  display:block;
  width:10px;
  min-width:10px;
  height:10px;
  border-radius:999px;
  margin-top:5px;
}

body.budget-v99-page .flow-allocation-label strong{
  display:block;
  color:#fff;
  font-size:1rem;
  letter-spacing:-.03em;
}

body.budget-v99-page .flow-allocation-label small{
  display:block;
  color:#b8b1c5;
  font-size:.82rem;
  line-height:1.45;
  margin-top:4px;
}

body.budget-v99-page .flow-allocation-values{
  text-align:right;
}

body.budget-v99-page .flow-allocation-values strong{
  display:block;
  color:#fff;
  font-size:1.08rem;
  letter-spacing:-.03em;
}

body.budget-v99-page .flow-allocation-values small{
  display:block;
  color:#b8b1c5;
  font-size:.82rem;
  margin-top:4px;
}

body.budget-v99-page .flow-allocation-track{
  height:14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}

body.budget-v99-page .flow-allocation-fill{
  height:100%;
  border-radius:inherit;
}

body.budget-v99-page .flow-allocation-row.invest .flow-allocation-label i,
body.budget-v99-page .budget-output-grid .sankey-node.invest:before{background:#e5be79;}
body.budget-v99-page .flow-allocation-row.expense .flow-allocation-label i,
body.budget-v99-page .budget-output-grid .sankey-node.expense:before{background:#b499ff;}
body.budget-v99-page .flow-allocation-row.available .flow-allocation-label i,
body.budget-v99-page .budget-output-grid .sankey-node.available:before{background:#70dfb3;}

body.budget-v99-page .flow-allocation-row.invest .flow-allocation-fill{background:linear-gradient(90deg,#f2d093,#e5be79);}
body.budget-v99-page .flow-allocation-row.expense .flow-allocation-fill{background:linear-gradient(90deg,#c7b0ff,#b499ff);}
body.budget-v99-page .flow-allocation-row.available .flow-allocation-fill{background:linear-gradient(90deg,#8de9c2,#70dfb3);}

body.budget-v99-page .flow-priority-card{
  margin-top:16px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(92,60,180,.18),rgba(255,255,255,.018))!important;
  border:1px solid rgba(168,138,255,.16)!important;
}

body.budget-v99-page .flow-priority-card span,
body.budget-v99-page .budget-verdict-card span{
  display:block;
  color:var(--gold);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}

body.budget-v99-page .flow-priority-card strong,
body.budget-v99-page .budget-verdict-card strong{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:1.06rem;
  letter-spacing:-.03em;
}

body.budget-v99-page .flow-priority-card p,
body.budget-v99-page .budget-verdict-card p{
  margin:8px 0 0;
  color:#d1cbe0;
  line-height:1.58;
  font-size:.92rem;
}

body.budget-v99-page .budget-output-grid{
  display:grid;
  gap:12px;
  margin-top:14px;
}

body.budget-v99-page .budget-output-grid .sankey-node{
  position:relative;
  padding:15px 15px 15px 30px;
  border-radius:17px!important;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:none!important;
}

body.budget-v99-page .budget-output-grid .sankey-node:before{
  content:"";
  position:absolute;
  left:14px;
  top:20px;
  width:8px;
  height:8px;
  border-radius:999px;
}

body.budget-v99-page .budget-output-grid .sankey-node span{
  display:block;
  max-width:68%;
  color:#c8c2d5!important;
  font-size:.86rem!important;
}

body.budget-v99-page .budget-output-grid .sankey-node strong{
  margin-left:auto;
  text-align:right;
  color:#fff;
  font-size:1.05rem!important;
}

body.budget-v99-page .legacy-sankey-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

body.budget-v99-page .sankey-note{
  margin:16px 2px 0;
  color:#bfb7cb;
  font-size:.93rem;
  line-height:1.6;
}

body.budget-v99-page .budget-verdict-card{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.065)!important;
}

@media(max-width:1200px){
  body.budget-v99-page .budget-flow-dashboard{grid-template-columns:1fr!important;}
}

@media(max-width:760px){
  body.budget-v99-page .budget-flow-showcase-v167{padding:20px;}
  body.budget-v99-page .budget-flow-showcase-v167 .budget-flow-showcase-head,
  body.budget-v99-page .flow-allocation-panel-head{display:grid;}
  body.budget-v99-page .flow-allocation-top,
  body.budget-v99-page .budget-output-grid .sankey-node{display:grid;}
  body.budget-v99-page .flow-allocation-values,
  body.budget-v99-page .budget-output-grid .sankey-node strong{text-align:left;margin-left:0;}
}


/* === V168 Budget Intelligence — remplace le diagramme incompréhensible === */
body.budget-v99-page .budget-intelligence-card{
  margin-top:30px;
  padding:26px;
  background:
    radial-gradient(circle at 12% 0%,rgba(143,107,255,.08),transparent 28%),
    linear-gradient(180deg,rgba(10,12,21,.96),rgba(6,7,14,.99))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 30px 82px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.028)!important;
}

body.budget-v99-page .budget-intelligence-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:20px;
}

body.budget-v99-page .budget-intelligence-head h2{
  margin:8px 0 0;
  font-size:clamp(1.9rem,2.8vw,2.85rem);
  line-height:1.02;
  letter-spacing:-.065em;
}

body.budget-v99-page .budget-intelligence-head .sankey-subtitle{
  max-width:790px;
  margin:10px 0 0;
  color:#b9b1c7;
  line-height:1.6;
}

body.budget-v99-page .budget-intelligence-score{
  min-width:160px;
  padding:15px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(229,185,117,.11),rgba(255,255,255,.018));
  border:1px solid rgba(229,185,117,.14);
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}

body.budget-v99-page .budget-intelligence-score span{
  display:block;
  color:var(--gold);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
}

body.budget-v99-page .budget-intelligence-score strong{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:1.2rem;
  letter-spacing:-.04em;
}

body.budget-v99-page .budget-intel-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:18px;
  align-items:stretch;
}

body.budget-v99-page .budget-intel-main,
body.budget-v99-page .budget-intel-side,
body.budget-v99-page .budget-intel-bottom article,
body.budget-v99-page .budget-verdict-card{
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
}

body.budget-v99-page .budget-intel-main{
  padding:22px;
}

body.budget-v99-page .budget-intel-main-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:12px;
}

body.budget-v99-page .budget-intel-main-top h3{
  margin:8px 0 0;
  font-size:clamp(1.45rem,2.2vw,2.2rem);
  line-height:1.05;
  letter-spacing:-.055em;
  color:#fff;
}

body.budget-v99-page .budget-intel-main-top > strong{
  min-width:max-content;
  padding:14px 16px;
  border-radius:17px;
  color:#120e08;
  background:linear-gradient(135deg,#fff2d4,#dfbd72);
  font-size:1.35rem;
  letter-spacing:-.04em;
  box-shadow:0 18px 34px rgba(223,189,114,.12);
}

body.budget-v99-page .budget-intel-main > p{
  margin:0 0 20px;
  color:#d3cddd;
  line-height:1.65;
  max-width:800px;
}

body.budget-v99-page .budget-intel-bars{
  display:grid;
  gap:14px;
}

body.budget-v99-page .budget-intel-bar{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,10,18,.88),rgba(11,13,22,.82));
  border:1px solid rgba(255,255,255,.055);
}

body.budget-v99-page .budget-intel-bar-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

body.budget-v99-page .budget-intel-bar-head span{
  color:#fff;
  font-weight:800;
  letter-spacing:-.02em;
}

body.budget-v99-page .budget-intel-bar-head strong{
  color:#fff;
  font-size:1.08rem;
}

body.budget-v99-page .budget-intel-track{
  height:14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}

body.budget-v99-page .budget-intel-track i{
  display:block;
  height:100%;
  border-radius:inherit;
}

body.budget-v99-page .budget-intel-bar small{
  display:block;
  margin-top:8px;
  color:#aaa3b8;
  font-size:.82rem;
}

body.budget-v99-page .budget-intel-bar.invest .budget-intel-track i{background:linear-gradient(90deg,#f2d093,#dfbd72);}
body.budget-v99-page .budget-intel-bar.expense .budget-intel-track i{background:linear-gradient(90deg,#c7b0ff,#9f83ff);}
body.budget-v99-page .budget-intel-bar.available .budget-intel-track i{background:linear-gradient(90deg,#8de9c2,#70dfb3);}

body.budget-v99-page .budget-intel-side{
  padding:18px;
  display:grid;
  gap:12px;
}

body.budget-v99-page .budget-intel-metric{
  padding:15px;
  border-radius:17px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.05);
}

body.budget-v99-page .budget-intel-metric span{
  display:block;
  color:#a9a1b6;
  font-size:.82rem;
  margin-bottom:8px;
}

body.budget-v99-page .budget-intel-metric strong{
  display:block;
  color:#fff;
  font-size:1.4rem;
  letter-spacing:-.055em;
}

body.budget-v99-page .budget-intel-bottom{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

body.budget-v99-page .budget-intel-bottom article{
  padding:18px;
}

body.budget-v99-page .budget-intel-bottom span,
body.budget-v99-page .budget-verdict-card span{
  display:block;
  color:var(--gold);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
}

body.budget-v99-page .budget-intel-bottom strong,
body.budget-v99-page .budget-verdict-card strong{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:1.06rem;
  letter-spacing:-.03em;
}

body.budget-v99-page .budget-intel-bottom p,
body.budget-v99-page .budget-verdict-card p{
  margin:8px 0 0;
  color:#cfc8dc;
  line-height:1.58;
  font-size:.92rem;
}

body.budget-v99-page .budget-intel-hidden-compat{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

body.budget-v99-page .sankey-note{
  margin:16px 2px 0;
  color:#bfb7cb;
  font-size:.93rem;
  line-height:1.6;
}

body.budget-v99-page .budget-verdict-card{
  margin-top:16px;
  padding:16px 18px;
}

@media(max-width:1180px){
  body.budget-v99-page .budget-intel-grid,
  body.budget-v99-page .budget-intel-bottom{grid-template-columns:1fr;}
}

@media(max-width:760px){
  body.budget-v99-page .budget-intelligence-card{padding:20px;}
  body.budget-v99-page .budget-intelligence-head,
  body.budget-v99-page .budget-intel-main-top{display:grid;}
  body.budget-v99-page .budget-intel-main-top > strong{width:fit-content;}
}



/* V169 — nettoyage Budget Intelligence : aucun reste d'ancien diagramme */
body.budget-v99-page .flow-destination-panel,
body.budget-v99-page .budget-flow-board,
body.budget-v99-page .budget-flow-showcase,
body.budget-v99-page .budget-flow-showcase-v167,
body.budget-v99-page .budget-sankey-card-v2,
body.budget-v99-page .budget-sankey-card-v3,
body.budget-v99-page .budget-sankey-steps,
body.budget-v99-page .flow-legend,
body.budget-v99-page .budget-flow-legend,
body.budget-v99-page .flow-overview-card,
body.budget-v99-page .sankey-center-zone,
body.budget-v99-page .sankey-center-zone-v3,
body.budget-v99-page .sankey-stage-card--outputs,
body.budget-v99-page .budget-flow-output-card{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

body.budget-v99-page .budget-intel-hidden-compat,
body.budget-v99-page .budget-intel-hidden-compat *,
body.budget-v99-page .legacy-sankey-hidden,
body.budget-v99-page .legacy-sankey-hidden *,
body.budget-v99-page .sankey-svg{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-width:0!important;
  max-height:0!important;
  overflow:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  top:-99999px!important;
  pointer-events:none!important;
}

body.budget-v99-page .budget-intelligence-card .sankey-note,
body.budget-v99-page .budget-intelligence-card .budget-verdict-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

@media print{
  body.budget-v99-page .flow-destination-panel,
  body.budget-v99-page .budget-flow-board,
  body.budget-v99-page .budget-flow-showcase,
  body.budget-v99-page .budget-flow-showcase-v167,
  body.budget-v99-page .budget-sankey-card-v2,
  body.budget-v99-page .budget-sankey-card-v3,
  body.budget-v99-page .budget-intel-hidden-compat,
  body.budget-v99-page .budget-intel-hidden-compat *,
  body.budget-v99-page .legacy-sankey-hidden,
  body.budget-v99-page .legacy-sankey-hidden *,
  body.budget-v99-page .sankey-svg{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    position:absolute!important;
    left:-99999px!important;
    top:-99999px!important;
  }
}


/* V170 — Graphiques premium budget */
.budget-chart-suite{
  margin-top:24px;
  padding:28px;
  border-radius:34px;
}
.budget-chart-suite-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.budget-chart-suite-head h2{
  margin:6px 0 8px;
  font-size:34px;
  line-height:1.05;
}
.budget-chart-suite-head p{
  max-width:860px;
  margin:0;
  color:rgba(230,234,246,.68);
}
.budget-chart-badge{
  white-space:nowrap;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#f0e7d0;
  border:1px solid rgba(255,255,255,.06);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.budget-chart-grid{
  display:grid;
  grid-template-columns:1.15fr .95fr;
  gap:18px;
}
.budget-chart-card{
  position:relative;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
.budget-chart-card::before{
  content:'';
  position:absolute;
  inset:-35% auto auto -10%;
  width:50%;
  height:70%;
  background:radial-gradient(circle, rgba(139,92,246,.12), rgba(139,92,246,0) 68%);
  pointer-events:none;
}
.budget-chart-card::after{
  content:'';
  position:absolute;
  inset:auto -8% -38% auto;
  width:42%;
  height:62%;
  background:radial-gradient(circle, rgba(217,179,106,.10), rgba(217,179,106,0) 70%);
  pointer-events:none;
}
.budget-chart-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}
.budget-chart-kicker{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#d9b36a;
  margin-bottom:6px;
}
.budget-chart-card h3{
  margin:0;
  font-size:28px;
}
.budget-chart-mini-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.budget-chart-mini-legend span,
.budget-donut-legend-item{
  color:rgba(244,247,255,.88);
}
.budget-chart-mini-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
}
.budget-chart-mini-legend i,
.budget-donut-legend-item i{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  box-shadow:0 0 18px currentColor;
}
.c-invest{ background:#d9b36a; color:#d9b36a; }
.c-expense{ background:#a78bfa; color:#a78bfa; }
.c-available{ background:#67d3b0; color:#67d3b0; }
.budget-bar-hero{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:16px;
  position:relative;
  z-index:1;
}
.budget-bar-hero strong,
.budget-donut-center-inline strong{
  font-size:30px;
  line-height:1;
}
.budget-bar-hero span,
.budget-donut-center-inline span{
  color:rgba(230,234,246,.62);
  font-size:13px;
}
.budget-chart-canvas{
  width:100%;
  height:320px;
  display:block;
  position:relative;
  z-index:1;
}
.budget-chart-footnote{
  margin-top:12px;
  color:rgba(232,236,247,.72);
  font-size:14px;
  line-height:1.5;
  position:relative;
  z-index:1;
}
.budget-donut-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:18px;
  align-items:center;
  position:relative;
  z-index:1;
}
.budget-donut-wrap{
  position:relative;
  width:220px;
  height:220px;
  margin:6px auto 0;
}
.budget-donut-svg{
  width:220px;
  height:220px;
  transform:rotate(-90deg);
}
.budget-donut-bg{
  fill:none;
  stroke:rgba(255,255,255,.06);
  stroke-width:22;
}
.budget-donut-hole{
  fill:rgba(5,9,18,.96);
}
.budget-donut-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
}
.budget-donut-center strong{
  font-size:34px;
  line-height:1;
}
.budget-donut-center span{
  margin-top:6px;
  color:rgba(230,234,246,.62);
  font-size:13px;
}
.budget-donut-center-inline{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}
.budget-donut-legend{
  display:grid;
  gap:10px;
}
.budget-donut-legend-item{
  display:grid;
  grid-template-columns:12px 1fr auto auto;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
}
.budget-donut-legend-item span{
  font-weight:600;
}
.budget-donut-legend-item strong{
  font-size:15px;
}
.budget-donut-legend-item small{
  color:rgba(230,234,246,.56);
  font-size:12px;
}
@media (max-width: 1120px){
  .budget-chart-grid{ grid-template-columns:1fr; }
}
@media (max-width: 780px){
  .budget-chart-suite{ padding:20px; border-radius:24px; }
  .budget-chart-suite-head{ flex-direction:column; }
  .budget-chart-suite-head h2{ font-size:28px; }
  .budget-chart-card{ padding:18px; border-radius:22px; }
  .budget-chart-card-head{ flex-direction:column; }
  .budget-chart-card h3{ font-size:24px; }
  .budget-chart-canvas{ height:280px; }
  .budget-donut-layout{ grid-template-columns:1fr; }
  .budget-donut-center-inline{ align-items:flex-start; text-align:left; }
}


/* V172 — garde les graphiques visibles de V170, mais plus propres et moins lourds */
body.budget-v99-page .budget-chart-suite{
  margin-top:22px!important;
  padding:22px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(8,10,18,.98),rgba(5,6,12,.995))!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.024)!important;
}

body.budget-v99-page .budget-chart-suite-head{
  margin-bottom:16px!important;
  align-items:flex-start!important;
}

body.budget-v99-page .budget-chart-suite-head h2{
  font-size:clamp(1.55rem,2.2vw,2.15rem)!important;
  margin:6px 0 6px!important;
  letter-spacing:-.055em!important;
}

body.budget-v99-page .budget-chart-suite-head p{
  font-size:.92rem!important;
  line-height:1.5!important;
  color:#b9b1c7!important;
  max-width:820px!important;
}

body.budget-v99-page .budget-chart-badge{
  padding:8px 12px!important;
  font-size:.70rem!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.04)!important;
}

body.budget-v99-page .budget-chart-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.82fr)!important;
  gap:14px!important;
}

body.budget-v99-page .budget-chart-card{
  padding:18px!important;
  border-radius:20px!important;
  min-height:auto!important;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.014))!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:none!important;
}

body.budget-v99-page .budget-chart-card::before,
body.budget-v99-page .budget-chart-card::after{
  opacity:.55!important;
  transform:scale(.72)!important;
}

body.budget-v99-page .budget-chart-card-head{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-chart-kicker{
  font-size:.70rem!important;
  letter-spacing:.13em!important;
  margin-bottom:5px!important;
}

body.budget-v99-page .budget-chart-card h3{
  font-size:1.35rem!important;
  letter-spacing:-.045em!important;
}

body.budget-v99-page .budget-chart-mini-legend{
  gap:8px!important;
}

body.budget-v99-page .budget-chart-mini-legend span{
  font-size:.74rem!important;
}

body.budget-v99-page .budget-bar-hero{
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-bar-hero strong,
body.budget-v99-page .budget-donut-center-inline strong{
  font-size:1.55rem!important;
  letter-spacing:-.055em!important;
}

body.budget-v99-page .budget-bar-hero span,
body.budget-v99-page .budget-donut-center-inline span{
  font-size:.78rem!important;
}

body.budget-v99-page .budget-chart-canvas{
  height:250px!important;
  max-height:250px!important;
  min-height:250px!important;
}

body.budget-v99-page .budget-chart-footnote{
  margin-top:8px!important;
  font-size:.84rem!important;
  line-height:1.45!important;
  color:#bfb7cb!important;
}

body.budget-v99-page .budget-donut-layout{
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
}

body.budget-v99-page .budget-donut-wrap{
  width:180px!important;
  height:180px!important;
  margin:2px auto 0!important;
}

body.budget-v99-page .budget-donut-svg{
  width:180px!important;
  height:180px!important;
}

body.budget-v99-page .budget-donut-center strong{
  font-size:1.8rem!important;
}

body.budget-v99-page .budget-donut-center span{
  font-size:.76rem!important;
}

body.budget-v99-page .budget-donut-legend{
  gap:8px!important;
}

body.budget-v99-page .budget-donut-legend-item{
  padding:9px 10px!important;
  border-radius:14px!important;
  grid-template-columns:9px 1fr auto auto!important;
  gap:8px!important;
}

body.budget-v99-page .budget-donut-legend-item span{
  font-size:.80rem!important;
}

body.budget-v99-page .budget-donut-legend-item strong{
  font-size:.82rem!important;
}

body.budget-v99-page .budget-donut-legend-item small{
  font-size:.72rem!important;
}

@media(max-width:1120px){
  body.budget-v99-page .budget-chart-grid{grid-template-columns:1fr!important;}
}
@media(max-width:780px){
  body.budget-v99-page .budget-chart-suite{padding:18px!important;}
  body.budget-v99-page .budget-chart-suite-head{display:grid!important;}
  body.budget-v99-page .budget-chart-card{padding:16px!important;}
  body.budget-v99-page .budget-donut-layout{grid-template-columns:1fr!important;}
  body.budget-v99-page .budget-chart-canvas{height:230px!important;max-height:230px!important;min-height:230px!important;}
}


/* V173 — placer les graphiques juste après les saisies pour lecture immédiate */
body.budget-v99-page .budget-chart-suite{order:2!important;}
body.budget-v99-page .budget-intelligence-card{order:3!important;}


/* V174 — UX plus rapide: saisies à gauche, graphiques à droite, pile responsive */
body.budget-v99-page .budget-content-grid-top{
  display:grid!important;
  grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr)!important;
  gap:18px!important;
  align-items:start!important;
}
body.budget-v99-page .budget-form-shell{
  grid-column:1!important;
  grid-row:1!important;
}
body.budget-v99-page .budget-chart-suite{
  grid-column:2!important;
  grid-row:1!important;
  margin-top:0!important;
  align-self:start!important;
  position:sticky;
  top:96px;
}
body.budget-v99-page .summary-stack{
  grid-column:1 / -1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
body.budget-v99-page .summary-stack > *{
  min-width:0;
}
body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  height:100%;
}
body.budget-v99-page .budget-chart-suite-head{
  margin-bottom:14px!important;
}
body.budget-v99-page .budget-chart-grid{
  grid-template-columns:1fr!important;
  gap:12px!important;
}
body.budget-v99-page .budget-chart-card{
  padding:16px!important;
  border-radius:18px!important;
}
body.budget-v99-page .budget-chart-canvas{
  height:220px!important;
  max-height:220px!important;
  min-height:220px!important;
}
body.budget-v99-page .budget-donut-layout{
  grid-template-columns:165px minmax(0,1fr)!important;
  gap:10px!important;
}
body.budget-v99-page .budget-donut-wrap,
body.budget-v99-page .budget-donut-svg{
  width:156px!important;
  height:156px!important;
}
body.budget-v99-page .budget-donut-center strong{
  font-size:1.55rem!important;
}
body.budget-v99-page .budget-donut-legend-item{
  padding:8px 10px!important;
}
body.budget-v99-page .budget-chart-footnote{
  font-size:.8rem!important;
}
@media(max-width:1320px){
  body.budget-v99-page .summary-stack{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:1120px){
  body.budget-v99-page .budget-content-grid-top{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-suite{
    grid-column:1!important;
    grid-row:2!important;
    position:relative;
    top:auto;
  }
  body.budget-v99-page .summary-stack{
    grid-column:1!important;
    grid-row:3!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:780px){
  body.budget-v99-page .summary-stack{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-suite{
    order:2!important;
    padding:16px!important;
  }
  body.budget-v99-page .budget-chart-canvas{
    height:210px!important;
    max-height:210px!important;
    min-height:210px!important;
  }
  body.budget-v99-page .budget-donut-layout{
    grid-template-columns:1fr!important;
  }
}


/* V175 — budget ultra premium */
body.budget-v99-page .budget-content-grid-top{
  gap:20px!important;
}
body.budget-v99-page .budget-form-shell,
body.budget-v99-page .budget-chart-suite,
body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  backdrop-filter:blur(20px);
}
body.budget-v99-page .budget-chart-suite{
  background:
    radial-gradient(1200px 500px at 0% 0%, rgba(122, 92, 255, .12), transparent 58%),
    radial-gradient(900px 420px at 100% 0%, rgba(223,189,114,.09), transparent 54%),
    linear-gradient(180deg, rgba(15,16,26,.95), rgba(10,11,19,.94))!important;
  border:1px solid rgba(255,255,255,.04)!important;
  box-shadow:0 26px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(143,107,255,.06)!important;
}
body.budget-v99-page .budget-chart-suite::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(140deg, rgba(255,255,255,.05), transparent 18%, transparent 82%, rgba(223,189,114,.04));
  mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  padding:1px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
body.budget-v99-page .budget-chart-suite-head{
  gap:14px!important;
  margin-bottom:16px!important;
}
body.budget-v99-page .budget-chart-badge{
  min-width:124px;
  justify-content:center;
  font-weight:700;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.22);
}
body.budget-v99-page .budget-chart-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
body.budget-v99-page .budget-chart-kpi{
  position:relative;
  overflow:hidden;
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 14px 28px rgba(0,0,0,.14);
  display:grid;
  gap:7px;
}
body.budget-v99-page .budget-chart-kpi::after{
  content:"";
  position:absolute;
  inset:auto -8% -45% auto;
  width:150px;
  height:150px;
  border-radius:50%;
  opacity:.18;
  filter:blur(26px);
  pointer-events:none;
}
body.budget-v99-page .budget-chart-kpi--income::after{background:rgba(143,107,255,.75);}
body.budget-v99-page .budget-chart-kpi--available::after{background:rgba(90,220,183,.72);}
body.budget-v99-page .budget-chart-kpi--dominant::after{background:rgba(223,189,114,.7);}
body.budget-v99-page .budget-chart-kpi span{
  color:#cbbfdd;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
body.budget-v99-page .budget-chart-kpi strong{
  font-size:1.45rem;
  line-height:1;
  letter-spacing:-.04em;
}
body.budget-v99-page .budget-chart-kpi small{
  color:#a89db8;
  font-size:.84rem;
  line-height:1.35;
}
body.budget-v99-page .budget-chart-grid{
  gap:14px!important;
}
body.budget-v99-page .budget-chart-card{
  background:linear-gradient(180deg, rgba(17,18,28,.88), rgba(12,13,21,.93))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03)!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.budget-v99-page .budget-chart-card:hover{
  transform:translateY(-2px);
  border-color:rgba(223,189,114,.13)!important;
  box-shadow:0 26px 56px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body.budget-v99-page .budget-bar-hero{
  border:1px solid rgba(255,255,255,.045);
  background:linear-gradient(90deg, rgba(143,107,255,.11), rgba(255,255,255,.025));
}
body.budget-v99-page .budget-donut-legend-item,
body.budget-v99-page .budget-donut-summary div{
  border:1px solid rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.budget-v99-page .summary-stack{
  gap:16px!important;
}
body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  padding:18px!important;
  background:
    linear-gradient(180deg, rgba(16,17,27,.96), rgba(10,11,18,.94))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03)!important;
  transition:transform .22s ease, box-shadow .22s ease;
}
body.budget-v99-page .summary-stack .section-card:hover,
body.budget-v99-page .summary-stack .flow-card:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 54px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body.budget-v99-page .summary-stack h3{
  margin:4px 0 10px;
}
body.budget-v99-page .summary-stack .summary-item{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.budget-v99-page .pea-action-card{
  background:
    radial-gradient(520px 160px at 0% 0%, rgba(223,189,114,.08), transparent 58%),
    linear-gradient(180deg, rgba(17,18,29,.97), rgba(11,12,20,.95))!important;
}
body.budget-v99-page .pea-action-number{
  border:1px solid rgba(223,189,114,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 18px 38px rgba(0,0,0,.20);
}
body.budget-v99-page .flow-bars div{
  grid-template-columns:120px 1fr auto;
}
body.budget-v99-page .flow-bars div span:last-child{
  font-weight:700;
  color:#f5f0e6;
}
body.budget-v99-page .list-grid{
  gap:10px!important;
}
body.budget-v99-page .list-grid .pill-btn{
  justify-content:flex-start;
  min-height:48px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025))!important;
}
body.budget-v99-page .list-grid .pill-btn:hover{
  transform:translateY(-1px);
}
body.budget-v99-page .budget-intelligence-card{
  margin-top:20px!important;
  background:
    radial-gradient(1200px 480px at 0% 0%, rgba(143,107,255,.08), transparent 60%),
    radial-gradient(900px 340px at 100% 0%, rgba(223,189,114,.06), transparent 52%),
    linear-gradient(180deg, rgba(15,16,26,.97), rgba(10,11,18,.96))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03)!important;
}
@media(max-width:1320px){
  body.budget-v99-page .budget-chart-kpis{
    grid-template-columns:1fr;
  }
}
@media(max-width:1120px){
  body.budget-v99-page .budget-chart-suite{
    position:relative;
    top:auto;
  }
  body.budget-v99-page .budget-chart-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:780px){
  body.budget-v99-page .budget-chart-kpis{
    grid-template-columns:1fr;
  }
  body.budget-v99-page .budget-chart-kpi strong{
    font-size:1.28rem;
  }
}


/* V176 — budget vitrine premium */
body.budget-v99-page .budget-executive-strip{
  margin:18px 0 22px;
  padding:22px;
  border-radius:30px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 280px at 0% 0%, rgba(143,107,255,.10), transparent 58%),
    radial-gradient(700px 260px at 100% 0%, rgba(223,189,114,.08), transparent 54%),
    linear-gradient(180deg, rgba(14,15,24,.97), rgba(10,11,18,.95));
  border:1px solid rgba(255,255,255,.05);
  box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.03);
}
body.budget-v99-page .budget-executive-strip::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(140deg, rgba(255,255,255,.05), transparent 18%, transparent 82%, rgba(223,189,114,.05));
  mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  padding:1px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
body.budget-v99-page .budget-executive-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
body.budget-v99-page .budget-executive-head h2{
  margin:4px 0 8px;
  font-size:clamp(1.5rem,2vw,2.1rem);
  letter-spacing:-.05em;
}
body.budget-v99-page .budget-executive-head p{
  max-width:820px;
  margin:0;
  color:#aa9fba;
}
body.budget-v99-page .budget-executive-status{
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  color:#f5f0e6;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 14px 28px rgba(0,0,0,.18);
}
body.budget-v99-page .budget-executive-status[data-tone="good"]{
  border-color:rgba(103,211,176,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 14px 28px rgba(0,0,0,.18), 0 0 0 1px rgba(103,211,176,.08);
}
body.budget-v99-page .budget-executive-status[data-tone="warn"]{
  border-color:rgba(223,189,114,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 14px 28px rgba(0,0,0,.18), 0 0 0 1px rgba(223,189,114,.08);
}
body.budget-v99-page .budget-executive-status[data-tone="alert"]{
  border-color:rgba(255,122,142,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 14px 28px rgba(0,0,0,.18), 0 0 0 1px rgba(255,122,142,.08);
}
body.budget-v99-page .budget-executive-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.budget-v99-page .budget-executive-card{
  position:relative;
  overflow:hidden;
  min-height:146px;
  padding:16px 16px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.budget-v99-page .budget-executive-card:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 24px 52px rgba(0,0,0,.24);
}
body.budget-v99-page .budget-executive-card::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-32px;
  width:124px;
  height:124px;
  border-radius:50%;
  filter:blur(24px);
  opacity:.18;
}
body.budget-v99-page .budget-executive-card--available::after{ background:rgba(103,211,176,.8); }
body.budget-v99-page .budget-executive-card--invest::after{ background:rgba(217,179,106,.86); }
body.budget-v99-page .budget-executive-card--pea::after{ background:rgba(143,107,255,.8); }
body.budget-v99-page .budget-executive-card--watch::after{ background:rgba(255,122,142,.75); }
body.budget-v99-page .budget-executive-card span{
  color:#cabfda;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
body.budget-v99-page .budget-executive-card strong{
  font-size:clamp(1.55rem,2.1vw,2rem);
  line-height:1;
  letter-spacing:-.05em;
}
body.budget-v99-page .budget-executive-card small{
  color:#aa9fba;
  font-size:.9rem;
  line-height:1.42;
}
body.budget-v99-page .budget-chart-suite{
  border-radius:30px!important;
}
body.budget-v99-page .budget-form-shell{
  border-radius:30px!important;
}
body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  border-radius:24px!important;
}
body.budget-v99-page .pea-action-card{
  overflow:hidden;
}
body.budget-v99-page .pea-action-meter{
  margin-top:12px;
  display:grid;
  gap:8px;
}
body.budget-v99-page .pea-action-meter span{
  color:#cbbfdd;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
body.budget-v99-page .pea-action-meter-track{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.2);
}
body.budget-v99-page .pea-action-meter-track i{
  display:block;
  height:100%;
  width:70%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(223,189,114,.92), rgba(186,146,255,.96));
  box-shadow:0 0 18px rgba(186,146,255,.24);
}
body.budget-v99-page .budget-chart-card-head h3,
body.budget-v99-page .summary-stack h3,
body.budget-v99-page .budget-intelligence-head h2{
  letter-spacing:-.04em;
}
body.budget-v99-page .budget-chart-footnote{
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.045);
  color:#aa9fba;
}
body.budget-v99-page .budget-donut-legend-item{
  transition:transform .18s ease, border-color .18s ease;
}
body.budget-v99-page .budget-donut-legend-item:hover{
  transform:translateY(-1px);
  border-color:rgba(223,189,114,.13);
}
body.budget-v99-page .budget-intelligence-score{
  min-width:180px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 18px 40px rgba(0,0,0,.16);
}
@media(max-width:1320px){
  body.budget-v99-page .budget-executive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:1120px){
  body.budget-v99-page .budget-executive-strip{
    margin-top:16px;
  }
}
@media(max-width:780px){
  body.budget-v99-page .budget-executive-head{
    flex-direction:column;
    align-items:flex-start;
  }
  body.budget-v99-page .budget-executive-grid{
    grid-template-columns:1fr;
  }
  body.budget-v99-page .budget-executive-card{
    min-height:auto;
  }
}


/* V177 — mode vitrine premium + conversion */
body.budget-v99-page{
  --lux-gold:#dfbd72;
  --lux-violet:#8f6bff;
  --lux-green:#67d3b0;
  --lux-red:#ff7a8e;
}

body.budget-v99-page .budget-value-strip{
  margin:0 0 22px;
  padding:22px;
  border-radius:30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.75fr);
  gap:18px;
  align-items:stretch;
  background:
    radial-gradient(900px 360px at 0% 0%, rgba(223,189,114,.09), transparent 58%),
    radial-gradient(700px 300px at 100% 0%, rgba(143,107,255,.09), transparent 54%),
    linear-gradient(180deg, rgba(15,16,26,.96), rgba(9,10,17,.97))!important;
  border:1px solid rgba(255,255,255,.05)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03)!important;
}

body.budget-v99-page .budget-value-main h2{
  margin:6px 0 10px;
  font-size:clamp(1.45rem,2.2vw,2.2rem);
  letter-spacing:-.055em;
}

body.budget-v99-page .budget-value-main p{
  margin:0;
  color:#aaa0b8;
  max-width:760px;
  line-height:1.58;
}

body.budget-v99-page .budget-value-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

body.budget-v99-page .budget-value-points article{
  padding:16px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.05);
  display:grid;
  gap:10px;
  min-height:110px;
  align-content:space-between;
}

body.budget-v99-page .budget-value-points strong{
  color:var(--lux-gold);
  font-size:.82rem;
  letter-spacing:.16em;
}

body.budget-v99-page .budget-value-points span{
  color:#fff;
  font-size:.98rem;
  line-height:1.38;
  font-weight:700;
}

body.budget-v99-page .budget-next-action{
  margin:0 0 16px;
  padding:16px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:
    radial-gradient(500px 160px at 0% 0%, rgba(223,189,114,.11), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(223,189,114,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 18px 38px rgba(0,0,0,.18);
}

body.budget-v99-page .budget-next-action span{
  display:block;
  color:var(--lux-gold);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
}

body.budget-v99-page .budget-next-action strong{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:1.14rem;
  letter-spacing:-.035em;
}

body.budget-v99-page .budget-next-action p{
  margin:7px 0 0;
  color:#bdb3ca;
  line-height:1.5;
  max-width:680px;
  font-size:.92rem;
}

body.budget-v99-page #budgetNextActionBtn{
  white-space:nowrap;
  min-height:44px;
  padding:0 18px;
}

body.budget-v99-page .budget-chart-suite,
body.budget-v99-page .budget-executive-strip,
body.budget-v99-page .budget-value-strip,
body.budget-v99-page .budget-intelligence-card{
  position:relative;
}

body.budget-v99-page .budget-chart-card::before,
body.budget-v99-page .budget-executive-card::before,
body.budget-v99-page .budget-chart-kpi::before,
body.budget-v99-page .summary-stack .section-card::after,
body.budget-v99-page .summary-stack .flow-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,0%), rgba(255,255,255,.075), transparent 34%);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}

body.budget-v99-page .budget-chart-card:hover::before,
body.budget-v99-page .budget-executive-card:hover::before,
body.budget-v99-page .budget-chart-kpi:hover::before,
body.budget-v99-page .summary-stack .section-card:hover::after,
body.budget-v99-page .summary-stack .flow-card:hover::after{
  opacity:1;
}

body.budget-v99-page .budget-chart-suite-head h2,
body.budget-v99-page .budget-executive-head h2,
body.budget-v99-page .budget-value-main h2,
body.budget-v99-page .budget-intelligence-head h2{
  text-wrap:balance;
}

body.budget-v99-page .budget-form-shell{
  background:
    radial-gradient(700px 300px at 0% 0%, rgba(143,107,255,.07), transparent 58%),
    linear-gradient(180deg, rgba(15,16,26,.96), rgba(9,10,17,.96))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.03)!important;
}

body.budget-v99-page .form-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}

body.budget-v99-page .tool-input{
  background:rgba(5,6,12,.72)!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.budget-v99-page .tool-input:focus{
  border-color:rgba(223,189,114,.22)!important;
  box-shadow:0 0 0 3px rgba(223,189,114,.08), inset 0 1px 0 rgba(255,255,255,.04)!important;
  background:rgba(8,9,16,.92)!important;
}

body.budget-v99-page .pill-btn.gold,
body.budget-v99-page .mini-btn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.budget-v99-page .pill-btn.gold:hover,
body.budget-v99-page .mini-btn:hover{
  transform:translateY(-1px);
}

body.budget-v99-page .budget-chart-badge,
body.budget-v99-page .budget-executive-status{
  position:relative;
  overflow:hidden;
}

body.budget-v99-page .budget-chart-badge::after,
body.budget-v99-page .budget-executive-status::after{
  content:"";
  position:absolute;
  inset:-60% auto -60% -40%;
  width:40%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  animation:peaShine 5.5s ease-in-out infinite;
}

@keyframes peaShine{
  0%,72%{left:-45%;}
  100%{left:130%;}
}

@media(max-width:1320px){
  body.budget-v99-page .budget-value-strip{
    grid-template-columns:1fr;
  }
}

@media(max-width:780px){
  body.budget-v99-page .budget-value-strip{
    padding:18px;
  }
  body.budget-v99-page .budget-value-points{
    grid-template-columns:1fr;
  }
  body.budget-v99-page .budget-next-action{
    display:grid;
  }
  body.budget-v99-page #budgetNextActionBtn{
    width:100%;
  }
}


/* V178 — correction UX : graphiques sous les saisies, pleine largeur, lisibles */
body.budget-v99-page .budget-content-grid-top{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-items:start!important;
}

body.budget-v99-page .budget-form-shell{
  grid-column:1!important;
  grid-row:1!important;
  max-width:none!important;
}

body.budget-v99-page .budget-chart-suite{
  grid-column:1!important;
  grid-row:2!important;
  position:relative!important;
  top:auto!important;
  width:100%!important;
  max-width:none!important;
  margin-top:0!important;
}

body.budget-v99-page .summary-stack{
  grid-column:1!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

body.budget-v99-page .budget-chart-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}

body.budget-v99-page .budget-chart-card{
  min-width:0!important;
}

body.budget-v99-page .budget-chart-suite-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}

body.budget-v99-page .budget-chart-suite-head h2{
  max-width:780px!important;
  white-space:normal!important;
}

body.budget-v99-page .budget-chart-suite-head p{
  max-width:880px!important;
  white-space:normal!important;
}

body.budget-v99-page .budget-chart-canvas{
  height:260px!important;
  min-height:260px!important;
  max-height:260px!important;
}

body.budget-v99-page .budget-donut-layout{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:14px!important;
}

body.budget-v99-page .budget-donut-wrap,
body.budget-v99-page .budget-donut-svg{
  width:190px!important;
  height:190px!important;
}

body.budget-v99-page .budget-form-live-hint{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(223,189,114,.10),rgba(143,107,255,.055));
  border:1px solid rgba(255,255,255,.055);
  color:#cfc6dc;
  font-size:.88rem;
  line-height:1.45;
}

body.budget-v99-page .budget-next-action{
  align-items:flex-start!important;
}

body.budget-v99-page .budget-next-action p{
  max-width:920px!important;
}

@media(max-width:1320px){
  body.budget-v99-page .summary-stack{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.budget-v99-page .budget-chart-grid{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-canvas{
    height:240px!important;
    min-height:240px!important;
    max-height:240px!important;
  }
}

@media(max-width:780px){
  body.budget-v99-page .summary-stack{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-suite-head{
    display:grid!important;
  }
  body.budget-v99-page .budget-chart-kpis{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-grid{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-donut-layout{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-canvas{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}


/* V179 — fix concret : graphiques juste sous les saisies, propres et compacts */
body.budget-v99-page .budget-content-grid-top{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
body.budget-v99-page .budget-form-shell{
  order:1!important;
  width:100%!important;
  max-width:none!important;
}
body.budget-v99-page .budget-chart-suite{
  order:2!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
}
body.budget-v99-page .summary-stack{
  order:3!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
body.budget-v99-page .budget-chart-suite-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0!important;
}
body.budget-v99-page .budget-chart-suite-head h2{
  font-size:2rem!important;
  line-height:1.08!important;
  margin:0 0 6px!important;
}
body.budget-v99-page .budget-chart-suite-head p{
  margin:0!important;
  max-width:760px!important;
  font-size:.98rem!important;
  color:#b7afc7!important;
}
body.budget-v99-page .budget-chart-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  margin:0!important;
}
body.budget-v99-page .budget-chart-card{
  min-width:0!important;
  padding:18px!important;
}
body.budget-v99-page .budget-chart-canvas{
  height:245px!important;
  min-height:245px!important;
  max-height:245px!important;
}
body.budget-v99-page .budget-chart-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
body.budget-v99-page .budget-next-action{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:16px 18px!important;
  margin:0!important;
}
body.budget-v99-page .budget-next-action p{
  margin:4px 0 0!important;
  max-width:760px!important;
}
body.budget-v99-page .budget-form-shell-head p,
body.budget-v99-page .budget-value-strip p,
body.budget-v99-page .budget-value-strip h2{
  max-width:760px!important;
}
body.budget-v99-page .budget-form-live-hint{
  margin-top:10px!important;
}
@media (max-width: 1180px){
  body.budget-v99-page .budget-chart-grid{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-kpis{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .summary-stack{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-next-action{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}
@media (max-width: 780px){
  body.budget-v99-page .budget-chart-suite{
    padding:18px!important;
  }
  body.budget-v99-page .budget-chart-suite-head{
    display:grid!important;
  }
  body.budget-v99-page .budget-chart-suite-head h2{
    font-size:1.65rem!important;
  }
  body.budget-v99-page .budget-donut-layout{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-chart-canvas{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}


/* V180 — vrai fix structurel : les graphiques ne peuvent plus partir à droite */
body.budget-v99-page .budget-input-zone,
body.budget-v99-page .budget-graphs-zone,
body.budget-v99-page .budget-summary-zone{
  width:100%!important;
  max-width:100%!important;
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
}

body.budget-v99-page .budget-input-zone .budget-form-shell,
body.budget-v99-page .budget-graphs-zone .budget-chart-suite{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-suite{
  padding:22px!important;
  display:block!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-suite-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  margin:0 0 16px!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-suite-head h2{
  font-size:2rem!important;
  line-height:1.08!important;
  margin:0 0 6px!important;
  max-width:760px!important;
  white-space:normal!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-suite-head p{
  max-width:760px!important;
  margin:0!important;
  white-space:normal!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;
  gap:16px!important;
  width:100%!important;
  margin:0 0 16px!important;
  align-items:stretch!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:18px!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-canvas{
  height:250px!important;
  min-height:250px!important;
  max-height:250px!important;
  width:100%!important;
}

body.budget-v99-page .budget-graphs-zone .budget-chart-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0 0 16px!important;
}

body.budget-v99-page .budget-graphs-zone .budget-next-action{
  width:100%!important;
  margin:0!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
}

body.budget-v99-page .budget-summary-zone .summary-stack{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
  position:relative!important;
  top:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
}

body.budget-v99-page .budget-content-grid-top{
  display:block!important;
}

@media(max-width:1320px){
  body.budget-v99-page .budget-graphs-zone .budget-chart-grid{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-summary-zone .summary-stack{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:780px){
  body.budget-v99-page .budget-graphs-zone .budget-chart-suite{
    padding:18px!important;
  }
  body.budget-v99-page .budget-graphs-zone .budget-chart-suite-head{
    display:grid!important;
  }
  body.budget-v99-page .budget-graphs-zone .budget-chart-kpis,
  body.budget-v99-page .budget-summary-zone .summary-stack{
    grid-template-columns:1fr!important;
  }
  body.budget-v99-page .budget-graphs-zone .budget-next-action{
    display:grid!important;
  }
  body.budget-v99-page .budget-graphs-zone .budget-chart-canvas{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}


/* V181 — moins de blabla, plus concret */
body.budget-v99-page .budget-executive-strip-compact{
  margin:14px 0 16px!important;
  padding:18px!important;
}

body.budget-v99-page .budget-executive-strip-compact .budget-executive-head{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-executive-strip-compact .budget-executive-head h2{
  font-size:clamp(1.35rem,1.8vw,1.85rem)!important;
  margin:3px 0 0!important;
}

body.budget-v99-page .budget-executive-strip-compact .budget-executive-head p{
  display:none!important;
}

body.budget-v99-page .budget-executive-card{
  min-height:104px!important;
  padding:14px!important;
  gap:8px!important;
}

body.budget-v99-page .budget-executive-card span{
  font-size:.72rem!important;
}

body.budget-v99-page .budget-executive-card strong{
  font-size:clamp(1.25rem,1.7vw,1.65rem)!important;
}

body.budget-v99-page .budget-executive-card small{
  font-size:.82rem!important;
  line-height:1.25!important;
}

body.budget-v99-page .budget-form-shell-head h2{
  font-size:clamp(1.35rem,1.9vw,1.9rem)!important;
}

body.budget-v99-page .budget-form-shell-head .sankey-subtitle{
  max-width:540px!important;
  font-size:.9rem!important;
}

body.budget-v99-page .budget-form-live-hint{
  padding:10px 12px!important;
  font-size:.82rem!important;
}

body.budget-v99-page .budget-chart-suite{
  padding:18px!important;
}

body.budget-v99-page .budget-chart-suite-head{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-chart-suite-head h2{
  font-size:clamp(1.35rem,1.9vw,1.9rem)!important;
}

body.budget-v99-page .budget-chart-suite-head p{
  font-size:.86rem!important;
}

body.budget-v99-page .budget-chart-grid{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-chart-card{
  padding:16px!important;
}

body.budget-v99-page .budget-chart-card h3{
  font-size:1.18rem!important;
}

body.budget-v99-page .budget-chart-canvas{
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
}

body.budget-v99-page .budget-chart-footnote{
  font-size:.8rem!important;
  padding-top:10px!important;
}

body.budget-v99-page .budget-next-action{
  padding:13px 15px!important;
}

body.budget-v99-page .budget-next-action strong{
  font-size:1rem!important;
}

body.budget-v99-page .budget-next-action p{
  font-size:.84rem!important;
  margin-top:3px!important;
}

body.budget-v99-page #budgetNextActionBtn{
  min-height:38px!important;
  padding:0 14px!important;
}

body.budget-v99-page .budget-intelligence-card{
  padding:20px!important;
}

body.budget-v99-page .budget-intelligence-head h2{
  font-size:clamp(1.45rem,2vw,2rem)!important;
}

body.budget-v99-page .budget-intelligence-head .sankey-subtitle{
  font-size:.9rem!important;
}

body.budget-v99-page .budget-intel-main{
  padding:18px!important;
}

body.budget-v99-page .budget-intel-main-top h3{
  font-size:clamp(1.25rem,1.8vw,1.75rem)!important;
}

body.budget-v99-page .budget-intel-main > p{
  margin-bottom:14px!important;
  font-size:.92rem!important;
}

body.budget-v99-page .budget-intel-bottom article{
  padding:14px!important;
}

body.budget-v99-page .budget-intel-bottom p,
body.budget-v99-page .budget-verdict-card p{
  font-size:.82rem!important;
}

body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  padding:14px!important;
}

body.budget-v99-page .summary-stack h3{
  font-size:1.05rem!important;
}

body.budget-v99-page .summary-stack p,
body.budget-v99-page .summary-stack span{
  font-size:.82rem!important;
}

body.budget-v99-page .budget-value-strip{
  display:none!important;
}


/* V182 — compact spacing : suppression des grands vides */
body.budget-v99-page .budget-main{
  gap:14px!important;
}

body.budget-v99-page .tool-topbar,
body.budget-v99-page .budget-topbar{
  margin-bottom:14px!important;
}

body.budget-v99-page .budget-hero-v99{
  margin-bottom:14px!important;
  padding:24px 26px!important;
  min-height:auto!important;
}

body.budget-v99-page .hero-tool,
body.budget-v99-page .budget-hero-v99{
  gap:20px!important;
}

body.budget-v99-page .budget-hero-v99 h1,
body.budget-v99-page .hero-tool h1{
  font-size:clamp(2.1rem,4.4vw,4.4rem)!important;
  line-height:.98!important;
  margin-bottom:8px!important;
}

body.budget-v99-page .budget-hero-v99 p,
body.budget-v99-page .hero-tool p{
  margin:0 0 8px!important;
  line-height:1.45!important;
}

body.budget-v99-page .budget-executive-strip,
body.budget-v99-page .budget-executive-strip-compact{
  margin:10px 0 12px!important;
  padding:14px!important;
}

body.budget-v99-page .budget-executive-head{
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-executive-grid{
  gap:10px!important;
}

body.budget-v99-page .budget-executive-card{
  min-height:88px!important;
  padding:12px!important;
  gap:5px!important;
}

body.budget-v99-page .budget-input-zone,
body.budget-v99-page .budget-graphs-zone,
body.budget-v99-page .budget-summary-zone{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-form-shell{
  padding:18px!important;
}

body.budget-v99-page .budget-form-shell-head{
  margin-bottom:12px!important;
  padding-bottom:10px!important;
}

body.budget-v99-page .budget-form-shell-head h2{
  margin:5px 0 4px!important;
}

body.budget-v99-page .form-card{
  padding:14px!important;
}

body.budget-v99-page .form-card-head{
  margin-bottom:8px!important;
}

body.budget-v99-page .form-helper{
  margin:0 0 8px!important;
  line-height:1.35!important;
}

body.budget-v99-page .rows{
  gap:8px!important;
}

body.budget-v99-page .budget-row,
body.budget-v99-page .tool-row{
  min-height:40px!important;
  padding:8px 10px!important;
}

body.budget-v99-page .budget-form-actions{
  margin-top:10px!important;
}

body.budget-v99-page .budget-form-live-hint{
  display:none!important;
}

body.budget-v99-page .budget-chart-suite{
  padding:16px!important;
  gap:10px!important;
}

body.budget-v99-page .budget-chart-suite-head{
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-chart-suite-head h2{
  margin-bottom:4px!important;
}

body.budget-v99-page .budget-chart-grid{
  gap:12px!important;
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-chart-card{
  padding:14px!important;
}

body.budget-v99-page .budget-chart-card-head{
  margin-bottom:8px!important;
}

body.budget-v99-page .budget-bar-hero{
  margin-bottom:8px!important;
  padding:10px 12px!important;
}

body.budget-v99-page .budget-chart-canvas{
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
}

body.budget-v99-page .budget-donut-layout{
  min-height:auto!important;
  gap:10px!important;
}

body.budget-v99-page .budget-donut-wrap,
body.budget-v99-page .budget-donut-svg{
  width:165px!important;
  height:165px!important;
}

body.budget-v99-page .budget-donut-legend{
  gap:7px!important;
}

body.budget-v99-page .budget-donut-legend-item{
  padding:8px 9px!important;
}

body.budget-v99-page .budget-chart-footnote{
  margin-top:7px!important;
  padding-top:8px!important;
}

body.budget-v99-page .budget-chart-kpis{
  gap:10px!important;
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-chart-kpi{
  padding:11px 12px!important;
  gap:4px!important;
}

body.budget-v99-page .budget-next-action{
  padding:12px!important;
  gap:10px!important;
}

body.budget-v99-page .summary-stack{
  gap:10px!important;
}

body.budget-v99-page .summary-stack .section-card,
body.budget-v99-page .summary-stack .flow-card{
  padding:12px!important;
}

body.budget-v99-page .flow-bars{
  gap:7px!important;
}

body.budget-v99-page .summary-item{
  padding:10px!important;
  gap:5px!important;
}

body.budget-v99-page .pea-action-meter{
  margin-top:8px!important;
}

body.budget-v99-page .budget-intelligence-card{
  margin-top:10px!important;
  padding:16px!important;
}

body.budget-v99-page .budget-intelligence-head{
  margin-bottom:12px!important;
}

body.budget-v99-page .budget-intel-grid{
  gap:12px!important;
}

body.budget-v99-page .budget-intel-main{
  padding:14px!important;
}

body.budget-v99-page .budget-intel-main > p{
  margin-bottom:10px!important;
}

body.budget-v99-page .budget-intel-bars{
  gap:8px!important;
}

body.budget-v99-page .budget-intel-bar{
  padding:10px!important;
}

body.budget-v99-page .budget-intel-side{
  padding:12px!important;
  gap:8px!important;
}

body.budget-v99-page .budget-intel-metric{
  padding:10px!important;
}

body.budget-v99-page .budget-intel-bottom{
  margin-top:12px!important;
  gap:10px!important;
}

body.budget-v99-page .budget-intel-bottom article{
  padding:12px!important;
}

body.budget-v99-page .budget-verdict-card{
  margin-top:10px!important;
  padding:12px!important;
}

body.budget-v99-page .sankey-note{
  margin-top:8px!important;
}

@media(max-width:780px){
  body.budget-v99-page .budget-hero-v99{
    padding:20px!important;
  }
  body.budget-v99-page .budget-chart-canvas{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}



/* V183 — budget cut sellable */
body.budget-v99-page .tool-main{gap:18px!important;}
body.budget-v99-page .budget-topbar{padding:18px 22px!important;}
body.budget-v99-page .budget-hero-v99{padding:22px!important;gap:18px!important;}
body.budget-v99-page .budget-hero-v99 h2{font-size:44px!important;line-height:1.02!important;letter-spacing:-.04em!important;}
body.budget-v99-page .budget-hero-v99 p{max-width:640px!important;}
body.budget-v99-page .budget-input-zone,
body.budget-v99-page .budget-graphs-zone,
body.budget-v99-page .budget-intelligence-card{margin-top:0!important;}
body.budget-v99-page .budget-form-shell,
body.budget-v99-page .budget-chart-suite,
body.budget-v99-page .budget-intelligence-card{padding:20px!important;}
body.budget-v99-page .budget-form-shell-head,
body.budget-v99-page .budget-chart-suite-head,
body.budget-v99-page .budget-intelligence-head{margin-bottom:14px!important;}
body.budget-v99-page .budget-form-shell-head h2,
body.budget-v99-page .budget-chart-suite-head h2,
body.budget-v99-page .budget-intelligence-head h2{font-size:30px!important;line-height:1.05!important;letter-spacing:-.04em!important;}
body.budget-v99-page .budget-form-shell-head p,
body.budget-v99-page .budget-chart-suite-head p,
body.budget-v99-page .budget-intelligence-head p{font-size:14px!important;line-height:1.45!important;color:rgba(255,255,255,.68)!important;}
body.budget-v99-page .form-helper{font-size:13px!important;line-height:1.4!important;color:rgba(255,255,255,.58)!important;margin:6px 0 12px!important;}
body.budget-v99-page .budget-chart-grid{margin-top:8px!important;}
body.budget-v99-page .budget-chart-card{padding:18px!important;}
body.budget-v99-page .budget-next-action{margin-top:14px!important;padding:16px 18px!important;}
body.budget-v99-page .budget-next-action strong{font-size:24px!important;letter-spacing:-.03em!important;}
body.budget-v99-page .budget-next-action .pill-btn{min-width:220px!important;justify-content:center!important;}
body.budget-v99-page .budget-intel-grid{margin-top:6px!important;}
body.budget-v99-page .budget-intel-main{padding:18px!important;}
body.budget-v99-page .budget-intel-side{gap:10px!important;}
body.budget-v99-page .budget-intel-metric{padding:14px!important;}
body.budget-v99-page .sankey-note{margin-top:14px!important;font-size:13px!important;color:rgba(255,255,255,.62)!important;}
body.budget-v99-page .budget-intel-bottom,
body.budget-v99-page .budget-summary-zone,
body.budget-v99-page .budget-executive-strip{display:none!important;}
@media (max-width:1100px){
  body.budget-v99-page .budget-hero-v99 h2{font-size:34px!important;}
}


/* V229 — Premium visual polish safe mode
   Objectif : harmoniser le rendu sans casser les dimensions existantes. */
:root{
  --bg:#05060b;
  --panel:#101219;
  --line:rgba(255,255,255,.085);
  --text:#f7f2ea;
  --muted:rgba(247,242,234,.62);
  --gold:#e8bf68;
  --gold2:#f4d98c;
  --violet:#a782ff;
  --green:#65e0bd;
}
html,body{
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  background:
    radial-gradient(circle at 22% 0%,rgba(143,107,255,.08),transparent 32%),
    radial-gradient(circle at 86% 0%,rgba(223,189,114,.045),transparent 26%),
    #05060b!important;
  color:var(--text)!important;
}
.glass,
.section-card,
.hero-tool,
.projection-tool-hero,
.compound-result-v198,
.compound-inputs-v198,
.compound-chart-card-v198,
.control-panel,
.result-card,
.hero-panel{
  background:
    radial-gradient(circle at 14% 0%,rgba(143,107,255,.055),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  border-color:rgba(255,255,255,.085)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.eyebrow,
.card-head small,
.section-card small,
.metric-box small,
.compound-card-head-v198 .eyebrow,
.projection-tool-mini,
.detail-badge,
.tag{
  color:var(--gold)!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
h1,h2,h3,
.projection-title-gradient,
.compound-result-copy-v198 h1,
.hero-tool h1,
.hero-tool h2{
  letter-spacing:-.055em!important;
}
.hero-tool h1,
.hero-tool h2,
.compound-result-copy-v198 h1,
.projection-title-gradient{
  background:linear-gradient(100deg,#fff 0%,#f4d99a 44%,#a98cff 90%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
p,.muted,.hint,.help-text{
  color:#bdb5c9!important;
}
input,select,textarea,
.money-field,
.control-panel input,
.compound-input-unit input,
.budget-form-shell input{
  background:rgba(0,0,0,.20)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
input:focus,select:focus,textarea:focus,
.money-field:focus,
.control-panel input:focus,
.compound-input-unit input:focus{
  border-color:rgba(167,130,255,.46)!important;
  box-shadow:0 0 0 4px rgba(167,130,255,.10)!important;
  outline:none!important;
}
.pill-btn.gold,
.btn.primary,
button.primary{
  background:linear-gradient(135deg,#fff4d8,#dfbd72 58%,#d9a8ff)!important;
  color:#15100b!important;
  border:0!important;
  box-shadow:0 16px 42px rgba(223,189,114,.16)!important;
}
.pill-btn.soft,
.btn.soft,
button.soft{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.09)!important;
  color:#eee8f8!important;
}
.tool-sidebar{
  background:linear-gradient(180deg,rgba(8,8,16,.98),rgba(4,4,9,.98))!important;
  border-right-color:rgba(255,255,255,.07)!important;
}
.tool-link.active,
.tool-link:hover{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.10)!important;
}


/* V230 — Page-by-page premium polish, scoped only */

/* 1) Cash-flow / Budget */
.budget-v99-page .tool-main,
.budget-v101-page .tool-main{
  max-width:1180px!important;
}
.budget-v99-page .hero-tool,
.budget-v101-page .hero-tool{
  padding:20px!important;
  border-radius:28px!important;
}
.budget-v99-page .hero-tool h1,
.budget-v101-page .hero-tool h1,
.budget-v99-page .hero-tool h2,
.budget-v101-page .hero-tool h2{
  font-size:clamp(34px,3.8vw,54px)!important;
}
.budget-v99-page .budget-input-zone,
.budget-v101-page .budget-input-zone{
  gap:12px!important;
}
.budget-v99-page .budget-form-shell,
.budget-v101-page .budget-form-shell{
  padding:16px!important;
  border-radius:24px!important;
}
.budget-v99-page .metric-box,
.budget-v101-page .metric-box{
  border-radius:20px!important;
}
.budget-v99-page .section-card,
.budget-v101-page .section-card{
  border-radius:24px!important;
}

/* 2) Trajectoire capital / intérêts composés */
.compound-page .tool-main{
  max-width:1180px!important;
}
.compound-page .compound-result-v198{
  padding:20px!important;
  border-radius:28px!important;
}
.compound-page .compound-result-copy-v198 h1{
  font-size:clamp(34px,3.9vw,56px)!important;
}
.compound-page .compound-metrics-v198{
  gap:10px!important;
}
.compound-page .compound-inputs-v198{
  border-radius:24px!important;
}
.compound-page .compound-chart-card-v198{
  border-radius:26px!important;
}
.compound-page .fine-compound-chart{
  min-height:260px!important;
}

/* 3) Trajectoire PEA / atelier horizon */
.projection-long-page .projection-long-main{
  max-width:1180px!important;
}
.projection-long-page .projection-tool-hero{
  padding:20px!important;
  border-radius:28px!important;
}
.projection-long-page .projection-title-gradient{
  font-size:clamp(34px,3.9vw,56px)!important;
}
.projection-long-page .control-panel,
.projection-long-page .projection-detail{
  border-radius:24px!important;
}
.projection-long-page .projection-value-strip{
  gap:10px!important;
}

/* 4) Revenus futurs / dividendes */
.dividend-page .tool-main,
.dividend-goal-page .tool-main{
  max-width:1180px!important;
}
.dividend-page .hero-tool,
.dividend-goal-page .hero-tool{
  border-radius:28px!important;
  padding:20px!important;
}

/* 5) Capital / simulateur patrimoine */
.projection-tool-page .tool-main,
.wealth-page .tool-main,
.wealth-simulator-page .tool-main{
  max-width:1180px!important;
}
.wealth-page .hero-tool,
.wealth-simulator-page .hero-tool,
.projection-tool-page .hero-tool{
  border-radius:28px!important;
}

/* 6) Atelier / sidebar */
.tool-sidebar .tool-link,
.dashboard-sidebar .nav-link{
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.tool-sidebar .tool-link:hover,
.dashboard-sidebar .nav-link:hover{
  transform:translateX(2px)!important;
}
.tool-promo{
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.085)!important;
}

/* Shared subtle premium, no layout override */
.budget-v99-page .glass,
.budget-v101-page .glass,
.compound-page .glass,
.projection-long-page .glass,
.dividend-page .glass,
.dividend-goal-page .glass,
.wealth-page .glass,
.wealth-simulator-page .glass{
  backdrop-filter:blur(16px)!important;
}


/* V231 — Fix Trajectoire capital / Intérêts composés */
.compound-page{
  background:
    radial-gradient(circle at 22% 0%,rgba(143,107,255,.08),transparent 32%),
    radial-gradient(circle at 86% 0%,rgba(223,189,114,.045),transparent 26%),
    #05060b!important;
}
.compound-page .tool-shell{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  min-height:100vh!important;
}
.compound-page .tool-main.compound-v198{
  width:min(1180px,calc(100vw - 320px))!important;
  margin:0 auto!important;
  padding:32px 24px 70px!important;
  display:grid!important;
  gap:18px!important;
}
.compound-page .tool-topbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.compound-page .top-actions{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
}
.compound-page .compound-result-v198{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:end!important;
  padding:22px!important;
  border-radius:28px!important;
}
.compound-page .compound-result-copy-v198{
  display:grid!important;
  gap:12px!important;
}
.compound-page .compound-result-copy-v198 h1{
  margin:0!important;
  font-size:clamp(36px,4vw,58px)!important;
  line-height:.96!important;
  letter-spacing:-.07em!important;
}
.compound-page .compound-result-copy-v198 p{
  margin:0!important;
  color:#bdb5c9!important;
}
.compound-page .compound-quick-actions-v198{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.compound-page .compound-metrics-v198{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.compound-page .compound-metrics-v198 > div,
.compound-page .compound-metrics-v198 article{
  padding:14px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.075)!important;
}
.compound-page .compound-metrics-v198 small{
  display:block!important;
  margin-bottom:6px!important;
}
.compound-page .compound-metrics-v198 strong{
  display:block!important;
  color:#fff!important;
  font-size:20px!important;
  letter-spacing:-.045em!important;
}
.compound-page .compound-inputs-v198{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  padding:16px!important;
  border-radius:24px!important;
}
.compound-page .compound-input-unit{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-areas:"label label" "input unit"!important;
  gap:8px!important;
  align-items:center!important;
  padding:13px!important;
  border-radius:18px!important;
  background:rgba(0,0,0,.18)!important;
  border:1px solid rgba(255,255,255,.065)!important;
}
.compound-page .compound-input-unit label,
.compound-page .compound-input-unit span:first-child{
  grid-area:label!important;
  color:#f7f2ea!important;
  font-weight:800!important;
}
.compound-page .compound-input-unit input{
  grid-area:input!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  padding:0 10px!important;
  font-size:15px!important;
  border-radius:13px!important;
}
.compound-page .compound-input-unit em,
.compound-page .compound-input-unit .unit{
  grid-area:unit!important;
  color:#fff!important;
  font-style:normal!important;
  font-weight:850!important;
}
.compound-page .compound-visual-grid-v198{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.compound-page .compound-chart-card-v198{
  padding:18px!important;
  border-radius:26px!important;
}
.compound-page .compound-card-head-v198{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:end!important;
  margin-bottom:12px!important;
}
.compound-page .fine-compound-chart{
  position:relative!important;
  min-height:360px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.compound-page .fine-compound-chart svg{
  display:block!important;
  width:100%!important;
  height:300px!important;
}
.compound-page .fine-chart-top,
.compound-page .fine-chart-legend{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  color:#a9a2b5!important;
  font-size:12px!important;
}
.compound-page .fine-chart-legend{
  justify-content:center!important;
  margin-top:10px!important;
}
.compound-page .compound-side-v198,
.compound-page .compound-side-cards-v198{
  display:grid!important;
  gap:12px!important;
}
.compound-page .compound-stat-row-v198,
.compound-page .compound-scenario-v198,
.compound-page .compound-action-v198,
.compound-page .compound-reperes-v198,
.compound-page .compound-side-v198 article,
.compound-page .compound-side-cards-v198 article{
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022))!important;
  border:1px solid rgba(255,255,255,.075)!important;
}
.compound-page .compound-stat-row-v198{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:12px!important;
}
.compound-page .compound-stat-row-v198 strong,
.compound-page .compound-scenario-v198 strong,
.compound-page .compound-action-v198 strong,
.compound-page .compound-reperes-v198 strong{
  color:#fff!important;
  font-size:18px!important;
  letter-spacing:-.04em!important;
}
.compound-page .scenario-list,
.compound-page .repere-list,
.compound-page .compound-reperes-v198 ul,
.compound-page .compound-scenario-v198 ul{
  display:grid!important;
  gap:8px!important;
  margin:10px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.compound-page .scenario-list li,
.compound-page .repere-list li,
.compound-page .compound-reperes-v198 li,
.compound-page .compound-scenario-v198 li{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 0!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  color:#bdb5c9!important;
}
.compound-page .scenario-list b,
.compound-page .repere-list b,
.compound-page .compound-reperes-v198 b,
.compound-page .compound-scenario-v198 b{
  color:#fff!important;
  text-align:right!important;
}
@media(max-width:1180px){
  .compound-page .tool-shell{grid-template-columns:1fr!important;}
  .compound-page .tool-sidebar{display:none!important;}
  .compound-page .tool-main.compound-v198{width:min(1180px,100%)!important;}
  .compound-page .compound-visual-grid-v198{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .compound-page .compound-result-v198,
  .compound-page .compound-inputs-v198,
  .compound-page .compound-metrics-v198{
    grid-template-columns:1fr!important;
  }
}


/* V234 — Trajectoire capital : centrage + textes propres, effets conservés */
.compound-page .tool-main.compound-v198{
  width:min(1120px,calc(100vw - 340px))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

.compound-page .compound-result-v198,
.compound-page .compound-inputs-v198,
.compound-page .compound-visual-grid-v198,
.compound-page .compound-reperes-v198{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.compound-page .compound-result-copy-v198 h1{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:8px!important;
  word-spacing:.04em!important;
}

.compound-page .compound-result-copy-v198 h1 span,
.compound-page .compound-result-copy-v198 h1 strong,
.compound-page .compound-result-copy-v198 h1 b{
  margin-right:6px!important;
}

.compound-page .compound-metrics-v198{
  align-self:end!important;
}

.compound-page .compound-metrics-v198 > *,
.compound-page .compound-metrics-v198 article,
.compound-page .metric-box{
  display:grid!important;
  gap:5px!important;
  align-content:center!important;
}

.compound-page .compound-inputs-v198{
  align-items:stretch!important;
}

.compound-page .compound-input-unit{
  min-width:0!important;
}

.compound-page .compound-input-unit label,
.compound-page .compound-input-unit > span:first-child{
  margin-bottom:4px!important;
}

.compound-page .compound-visual-grid-v198{
  grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr)!important;
}

.compound-page .compound-chart-card-v198{
  min-width:0!important;
}

.compound-page .compound-side-v198,
.compound-page .compound-side-cards-v198{
  min-width:0!important;
}

/* Scénarios : transforme les textes collés en lignes lisibles si le HTML est simple */
.compound-page .compound-scenario-v198,
.compound-page .compound-side-v198 article,
.compound-page .compound-side-cards-v198 article{
  line-height:1.45!important;
}

.compound-page .compound-scenario-v198 p,
.compound-page .compound-scenario-v198 div,
.compound-page .compound-side-v198 article p,
.compound-page .compound-side-v198 article div{
  line-height:1.5!important;
}

.compound-page .compound-scenario-v198 strong,
.compound-page .compound-action-v198 strong,
.compound-page .compound-reperes-v198 strong{
  display:block!important;
  margin:8px 0!important;
}

/* Repères : espace les lignes type "Départ 1 233 € 0 € gains" */
.compound-page .compound-reperes-v198{
  padding:18px!important;
  border-radius:24px!important;
}

.compound-page .compound-reperes-v198 p,
.compound-page .compound-reperes-v198 div,
.compound-page .compound-reperes-v198 li{
  line-height:1.65!important;
  word-spacing:.08em!important;
}

.compound-page .compound-reperes-v198 b,
.compound-page .compound-reperes-v198 strong{
  margin-left:4px!important;
  margin-right:4px!important;
}

/* Stats sous graphique */
.compound-page .compound-stat-row-v198{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 0!important;
}

.compound-page .compound-stat-row-v198 + .compound-stat-row-v198{
  border-top:1px solid rgba(255,255,255,.06)!important;
}

/* Corrige le rendu trop collé dans les cartes latérales */
.compound-page .compound-side-v198 article,
.compound-page .compound-side-cards-v198 article{
  padding:16px 18px!important;
}

.compound-page .compound-side-v198 article * + *,
.compound-page .compound-side-cards-v198 article * + *{
  margin-top:6px!important;
}

/* Desktop large : page moins collée à gauche */
@media(min-width:1181px){
  .compound-page .tool-main.compound-v198{
    transform:translateX(18px)!important;
  }
}

/* Laptop / responsive */
@media(max-width:1180px){
  .compound-page .tool-main.compound-v198{
    width:min(1120px,100%)!important;
    transform:none!important;
  }
  .compound-page .compound-visual-grid-v198{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  .compound-page .compound-result-copy-v198 h1{
    display:block!important;
  }
  .compound-page .compound-result-copy-v198 h1 span,
  .compound-page .compound-result-copy-v198 h1 strong,
  .compound-page .compound-result-copy-v198 h1 b{
    margin-right:0!important;
  }
}


/* V235 — Trajectoire capital : vrai centrage + typographie lisible */
body.compound-page .tool-main.compound-v198{
  width:min(1180px,calc(100vw - 360px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:34px 28px 76px!important;
  transform:translateX(44px)!important;
}

/* Résultat : espace entre montant et durée */
body.compound-page .compound-result-copy-v198 h2{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.06em!important;
}
body.compound-page .compound-result-copy-v198 h2 [data-result-main]{
  display:inline-block!important;
  margin-right:8px!important;
}
body.compound-page .compound-result-copy-v198 h2 [data-result-years]{
  display:inline-block!important;
  color:#fff!important;
  font-size:.68em!important;
  letter-spacing:-.04em!important;
  text-transform:none!important;
}

/* Layout du résultat */
body.compound-page .compound-result-v198{
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;
  align-items:end!important;
}
body.compound-page .compound-metrics-v198{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
body.compound-page .compound-metrics-v198 > div{
  min-width:0!important;
  padding:14px!important;
  border-radius:20px!important;
}
body.compound-page .compound-metrics-v198 span{
  display:block!important;
  margin-bottom:6px!important;
  color:#e7e0f1!important;
}
body.compound-page .compound-metrics-v198 strong{
  display:block!important;
  white-space:nowrap!important;
}

/* Inputs */
body.compound-page .compound-inputs-v198{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
body.compound-page .compound-inputs-v198 > label{
  display:grid!important;
  gap:8px!important;
  min-width:0!important;
}
body.compound-page .compound-inputs-v198 > label > span{
  display:block!important;
  color:#fff!important;
  font-weight:750!important;
}
body.compound-page .compound-input-unit{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
}
body.compound-page .compound-input-unit input{
  min-width:0!important;
  width:100%!important;
}

/* Graphique + sidebar */
body.compound-page .compound-visual-grid-v198{
  display:grid!important;
  grid-template-columns:minmax(0,1.58fr) minmax(300px,.42fr)!important;
  gap:14px!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.compound-page .compound-chart-card-v198{
  min-width:0!important;
}
body.compound-page .compound-side-v198{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
}
body.compound-page .compound-side-v198 article{
  min-width:0!important;
}

/* Scénarios : vraies lignes, plus jamais collées */
body.compound-page .scenario-row-v198{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:10px 0!important;
  border-top:1px solid rgba(255,255,255,.065)!important;
}
body.compound-page .scenario-row-v198:first-of-type{
  border-top:0!important;
}
body.compound-page .scenario-row-v198 span{
  color:#d8d1e2!important;
  font-size:14px!important;
}
body.compound-page .scenario-row-v198 strong{
  color:#fff!important;
  text-align:right!important;
  white-space:nowrap!important;
  font-size:16px!important;
}

/* Repères : lignes lisibles */
body.compound-page .compound-table-v198{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:18px!important;
}
body.compound-page .compound-annual-v198{
  display:grid!important;
  gap:8px!important;
  margin-top:12px!important;
}
body.compound-page .compound-annual-v198 > *{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:10px 0!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}
body.compound-page .compound-annual-v198 > *:first-child{
  border-top:0!important;
}
body.compound-page .compound-annual-v198 span,
body.compound-page .compound-annual-v198 em,
body.compound-page .compound-annual-v198 b,
body.compound-page .compound-annual-v198 strong{
  display:inline-block!important;
  white-space:nowrap!important;
}

/* Milestones sous graphique */
body.compound-page .compound-milestones-v198{
  display:grid!important;
  gap:8px!important;
  margin-top:12px!important;
}
body.compound-page .compound-milestones-v198 > *{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px 0!important;
  border-top:1px solid rgba(255,255,255,.055)!important;
}
body.compound-page .compound-milestones-v198 strong,
body.compound-page .compound-milestones-v198 b{
  text-align:right!important;
  white-space:nowrap!important;
}

/* Largeur générale : corrige le côté trop gauche */
body.compound-page .tool-topbar,
body.compound-page .compound-result-v198,
body.compound-page .compound-inputs-v198{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1320px){
  body.compound-page .tool-main.compound-v198{
    transform:translateX(18px)!important;
    width:min(1120px,calc(100vw - 315px))!important;
  }
}

@media(max-width:1180px){
  body.compound-page .tool-main.compound-v198{
    width:100%!important;
    transform:none!important;
  }
  body.compound-page .compound-result-v198,
  body.compound-page .compound-visual-grid-v198{
    grid-template-columns:1fr!important;
  }
  body.compound-page .compound-metrics-v198,
  body.compound-page .compound-inputs-v198{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  body.compound-page .compound-metrics-v198,
  body.compound-page .compound-inputs-v198,
  body.compound-page .compound-annual-v198 > *{
    grid-template-columns:1fr!important;
  }
}


/* V236 — Trajectoire capital : vrai centrage fenêtre */
body.compound-page .tool-shell{
  display:block!important;
  width:100%!important;
  min-height:100vh!important;
}

body.compound-page .tool-sidebar{
  display:none!important;
}

body.compound-page .tool-main.compound-v198{
  width:min(1180px,calc(100vw - 220px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:38px 0 80px!important;
  transform:translateX(74px)!important;
}

body.compound-page .tool-topbar,
body.compound-page .compound-result-v198,
body.compound-page .compound-inputs-v198,
body.compound-page .compound-visual-grid-v198,
body.compound-page .compound-table-v198{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Header moins petit, aligné avec les autres cartes */
body.compound-page .tool-topbar.compact-topbar-v198{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding:22px!important;
  border-radius:26px!important;
}

/* évite que le header reste à une ancienne largeur */
body.compound-page .tool-topbar.compact-topbar-v198 > div:first-child{
  min-width:0!important;
}

@media(max-width:1400px){
  body.compound-page .tool-main.compound-v198{
    width:min(1120px,calc(100vw - 140px))!important;
    transform:translateX(34px)!important;
  }
}

@media(max-width:1180px){
  body.compound-page .tool-main.compound-v198{
    width:calc(100vw - 36px)!important;
    max-width:none!important;
    padding:24px 0 70px!important;
    transform:none!important;
  }
}

@media(max-width:760px){
  body.compound-page .tool-main.compound-v198{
    width:calc(100vw - 24px)!important;
  }
}


/* V237 — Trajectoire capital : centrage réel sans décalage */
body.compound-page .tool-shell{
  display:block!important;
  width:100%!important;
}

body.compound-page .tool-sidebar{
  display:none!important;
}

body.compound-page .tool-main.compound-v198{
  width:min(1200px,calc(100vw - 260px))!important;
  max-width:1200px!important;
  margin-inline:auto!important;
  padding:38px 0 80px!important;
  transform:none!important;
}

body.compound-page .tool-topbar,
body.compound-page .compound-result-v198,
body.compound-page .compound-inputs-v198,
body.compound-page .compound-visual-grid-v198,
body.compound-page .compound-table-v198{
  width:100%!important;
  max-width:1200px!important;
  margin-inline:auto!important;
}

@media(max-width:1400px){
  body.compound-page .tool-main.compound-v198{
    width:min(1120px,calc(100vw - 160px))!important;
    transform:none!important;
  }
}

@media(max-width:1180px){
  body.compound-page .tool-main.compound-v198{
    width:calc(100vw - 36px)!important;
    max-width:none!important;
    transform:none!important;
  }
}

@media(max-width:760px){
  body.compound-page .tool-main.compound-v198{
    width:calc(100vw - 24px)!important;
  }
}


/* V239 — Objectif revenus : contraste dividendes */
.dividend-page [data-dividend-step],
.dividend-goal-page [data-dividend-step],
.dividend-page .progression-row,
.dividend-goal-page .progression-row,
.dividend-page .dividend-row,
.dividend-goal-page .dividend-row{
  color:#f7f2ea!important;
}

.dividend-page [data-dividend-step] strong,
.dividend-goal-page [data-dividend-step] strong,
.dividend-page .progression-row strong,
.dividend-goal-page .progression-row strong,
.dividend-page .dividend-row strong,
.dividend-goal-page .dividend-row strong,
.dividend-page .progression strong,
.dividend-goal-page .progression strong,
.dividend-page .step-income,
.dividend-goal-page .step-income{
  color:#f7f2ea!important;
  opacity:1!important;
  text-shadow:none!important;
}

.dividend-page .progression-row span:last-child,
.dividend-goal-page .progression-row span:last-child,
.dividend-page .dividend-row span:last-child,
.dividend-goal-page .dividend-row span:last-child,
.dividend-page .progression li span:last-child,
.dividend-goal-page .progression li span:last-child{
  color:#f7f2ea!important;
  opacity:1!important;
  font-weight:850!important;
}

.dividend-page .progression-row,
.dividend-goal-page .progression-row,
.dividend-page .dividend-row,
.dividend-goal-page .dividend-row{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.065)!important;
}

.dividend-page .progression-row:hover,
.dividend-goal-page .progression-row:hover,
.dividend-page .dividend-row:hover,
.dividend-goal-page .dividend-row:hover{
  background:rgba(255,255,255,.065)!important;
}

/* Cible large : valeurs noires générées par JS dans la carte Progression */
.dividend-page .glass *[style*="color: black"],
.dividend-goal-page .glass *[style*="color: black"],
.dividend-page .glass *[style*="color:#000"],
.dividend-goal-page .glass *[style*="color:#000"]{
  color:#f7f2ea!important;
}


/* V240 — Contraste valeurs progression : Objectif revenus + Plan Patrimoine */
.dividend-page .progression *,
.dividend-goal-page .progression *,
.wealth-page .progression *,
.wealth-simulator-page .progression *,
.projection-tool-page .progression *,
.dividend-page [class*="progress"] *,
.dividend-goal-page [class*="progress"] *,
.wealth-page [class*="progress"] *,
.wealth-simulator-page [class*="progress"] *,
.projection-tool-page [class*="progress"] *{
  color:inherit;
}

.dividend-page [class*="progress"] strong,
.dividend-goal-page [class*="progress"] strong,
.wealth-page [class*="progress"] strong,
.wealth-simulator-page [class*="progress"] strong,
.projection-tool-page [class*="progress"] strong,
.dividend-page [class*="progress"] b,
.dividend-goal-page [class*="progress"] b,
.wealth-page [class*="progress"] b,
.wealth-simulator-page [class*="progress"] b,
.projection-tool-page [class*="progress"] b,
.dividend-page [class*="progress"] em,
.dividend-goal-page [class*="progress"] em,
.wealth-page [class*="progress"] em,
.wealth-simulator-page [class*="progress"] em,
.projection-tool-page [class*="progress"] em{
  color:#f7f2ea!important;
  opacity:1!important;
  font-style:normal!important;
  font-weight:850!important;
  text-shadow:0 1px 0 rgba(0,0,0,.25)!important;
}

/* Valeurs à droite des lignes Année X */
.dividend-page [class*="progress"] > * > *:last-child,
.dividend-goal-page [class*="progress"] > * > *:last-child,
.wealth-page [class*="progress"] > * > *:last-child,
.wealth-simulator-page [class*="progress"] > * > *:last-child,
.projection-tool-page [class*="progress"] > * > *:last-child{
  color:#f7f2ea!important;
  opacity:1!important;
  font-weight:850!important;
}

/* Cas spécifique : texte généré directement en span/div à droite */
.dividend-page span:last-child,
.dividend-goal-page span:last-child,
.wealth-page span:last-child,
.wealth-simulator-page span:last-child{
  color:inherit;
}

.dividend-page [class*="progress"] span:last-child,
.dividend-goal-page [class*="progress"] span:last-child,
.wealth-page [class*="progress"] span:last-child,
.wealth-simulator-page [class*="progress"] span:last-child,
.projection-tool-page [class*="progress"] span:last-child{
  color:#f7f2ea!important;
  opacity:1!important;
  font-weight:850!important;
}

/* Neutralise les couleurs inline noires dans les cartes de progression */
.dividend-page [class*="progress"] [style*="color"],
.dividend-goal-page [class*="progress"] [style*="color"],
.wealth-page [class*="progress"] [style*="color"],
.wealth-simulator-page [class*="progress"] [style*="color"],
.projection-tool-page [class*="progress"] [style*="color"]{
  color:#f7f2ea!important;
}

/* Si les valeurs ne sont pas dans une classe progress mais dans les blocs étape */
.dividend-page .glass div:last-child,
.dividend-goal-page .glass div:last-child,
.wealth-page .glass div:last-child,
.wealth-simulator-page .glass div:last-child{
  --readable-value:#f7f2ea;
}

.dividend-page .glass .amount,
.dividend-goal-page .glass .amount,
.wealth-page .glass .amount,
.wealth-simulator-page .glass .amount,
.dividend-page .glass .value,
.dividend-goal-page .glass .value,
.wealth-page .glass .value,
.wealth-simulator-page .glass .value,
.dividend-page .glass [class*="amount"],
.dividend-goal-page .glass [class*="amount"],
.wealth-page .glass [class*="amount"],
.wealth-simulator-page .glass [class*="amount"],
.dividend-page .glass [class*="value"],
.dividend-goal-page .glass [class*="value"],
.wealth-page .glass [class*="value"],
.wealth-simulator-page .glass [class*="value"]{
  color:#f7f2ea!important;
  opacity:1!important;
}

/* Rows premium plus lisibles */
.dividend-page [class*="progress"] > *,
.dividend-goal-page [class*="progress"] > *,
.wealth-page [class*="progress"] > *,
.wealth-simulator-page [class*="progress"] > *,
.projection-tool-page [class*="progress"] > *{
  background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
  border-color:rgba(255,255,255,.075)!important;
}

/* Dernier recours ciblé sur les captures : valeurs type €/mois ou € en fin de ligne */
.dividend-page .glass,
.dividend-goal-page .glass,
.wealth-page .glass,
.wealth-simulator-page .glass{
  color:#d8d1e2!important;
}

.dividend-page .glass strong,
.dividend-goal-page .glass strong,
.wealth-page .glass strong,
.wealth-simulator-page .glass strong,
.dividend-page .glass b,
.dividend-goal-page .glass b,
.wealth-page .glass b,
.wealth-simulator-page .glass b{
  color:#f7f2ea!important;
}


/* V243 — Cash-flow : titre, croix et boutons */
.budget-v99-page .budget-form-shell h2,
.budget-v101-page .budget-form-shell h2,
.budget-v99-page .budget-form-shell h3,
.budget-v101-page .budget-form-shell h3{
  letter-spacing:-.055em!important;
}

.budget-v99-page .budget-form-shell-head p,
.budget-v101-page .budget-form-shell-head p{
  color:#bdb5c9!important;
}

/* Croix suppression revenus/dépenses : visible mais premium */
.budget-v99-page button[aria-label*="supprimer" i],
.budget-v101-page button[aria-label*="supprimer" i],
.budget-v99-page button[title*="supprimer" i],
.budget-v101-page button[title*="supprimer" i],
.budget-v99-page .remove-btn,
.budget-v101-page .remove-btn,
.budget-v99-page .entry-remove,
.budget-v101-page .entry-remove,
.budget-v99-page .income-remove,
.budget-v101-page .income-remove,
.budget-v99-page .expense-remove,
.budget-v101-page .expense-remove,
.budget-v99-page .budget-remove,
.budget-v101-page .budget-remove,
.budget-v99-page .line-remove,
.budget-v101-page .line-remove,
.budget-v99-page .row-remove,
.budget-v101-page .row-remove{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.92)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}

.budget-v99-page button[aria-label*="supprimer" i]:hover,
.budget-v101-page button[aria-label*="supprimer" i]:hover,
.budget-v99-page button[title*="supprimer" i]:hover,
.budget-v101-page button[title*="supprimer" i]:hover,
.budget-v99-page .remove-btn:hover,
.budget-v101-page .remove-btn:hover,
.budget-v99-page .entry-remove:hover,
.budget-v101-page .entry-remove:hover,
.budget-v99-page .income-remove:hover,
.budget-v101-page .income-remove:hover,
.budget-v99-page .expense-remove:hover,
.budget-v101-page .expense-remove:hover,
.budget-v99-page .budget-remove:hover,
.budget-v101-page .budget-remove:hover,
.budget-v99-page .line-remove:hover,
.budget-v101-page .line-remove:hover,
.budget-v99-page .row-remove:hover,
.budget-v101-page .row-remove:hover{
  background:rgba(255,95,95,.16)!important;
  border-color:rgba(255,95,95,.34)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Cas où la croix est un bouton générique en dernier élément de ligne */
.budget-v99-page .budget-form-shell .income-row button:last-child,
.budget-v101-page .budget-form-shell .income-row button:last-child,
.budget-v99-page .budget-form-shell .expense-row button:last-child,
.budget-v101-page .budget-form-shell .expense-row button:last-child,
.budget-v99-page .budget-form-shell .budget-row button:last-child,
.budget-v101-page .budget-form-shell .budget-row button:last-child,
.budget-v99-page .budget-form-shell [data-budget-row] button:last-child,
.budget-v101-page .budget-form-shell [data-budget-row] button:last-child{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:850!important;
}

/* Boutons bas de saisie */
.budget-v99-page .budget-form-shell .pill-btn,
.budget-v101-page .budget-form-shell .pill-btn,
.budget-v99-page .budget-form-shell button:not([aria-label*="supprimer" i]),
.budget-v101-page .budget-form-shell button:not([aria-label*="supprimer" i]){
  min-height:40px!important;
  border-radius:13px!important;
}

.budget-v99-page .budget-form-shell .form-actions,
.budget-v101-page .budget-form-shell .form-actions,
.budget-v99-page .budget-form-shell .budget-actions,
.budget-v101-page .budget-form-shell .budget-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  margin-top:10px!important;
}

/* Bouton sauvegarder plus premium */
.budget-v99-page .budget-form-shell button[data-save],
.budget-v101-page .budget-form-shell button[data-save],
.budget-v99-page .budget-form-shell [data-save-budget],
.budget-v101-page .budget-form-shell [data-save-budget]{
  background:linear-gradient(135deg,#fff4d8,#dfbd72 58%,#d9a8ff)!important;
  color:#15100b!important;
  border:0!important;
  font-weight:900!important;
}



/* V244 — Cash-flow correction réelle titre + croix */
.budget-v99-page .budget-form-shell h2,
.budget-v101-page .budget-form-shell h2,
.budget-v99-page .budget-form-shell h3,
.budget-v101-page .budget-form-shell h3{
  color:#fff!important;
  letter-spacing:-.055em!important;
}

.cashflow-remove-btn,
.budget-v99-page .cashflow-remove-btn,
.budget-v101-page .cashflow-remove-btn,
.budget-v99-page button.cashflow-remove-btn,
.budget-v101-page button.cashflow-remove-btn{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.095)!important;
  color:#fff!important;
  opacity:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:22px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer!important;
  padding:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.cashflow-remove-btn:hover,
.budget-v99-page .cashflow-remove-btn:hover,
.budget-v101-page .cashflow-remove-btn:hover{
  background:rgba(255,95,95,.18)!important;
  border-color:rgba(255,95,95,.40)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Dernier bouton de chaque ligne de saisie si le JS ne porte pas la classe */
.budget-v99-page .budget-form-shell .budget-line button:last-child,
.budget-v101-page .budget-form-shell .budget-line button:last-child,
.budget-v99-page .budget-form-shell .budget-row button:last-child,
.budget-v101-page .budget-form-shell .budget-row button:last-child,
.budget-v99-page .budget-form-shell .income-line button:last-child,
.budget-v101-page .budget-form-shell .income-line button:last-child,
.budget-v99-page .budget-form-shell .income-row button:last-child,
.budget-v101-page .budget-form-shell .income-row button:last-child,
.budget-v99-page .budget-form-shell .expense-line button:last-child,
.budget-v101-page .budget-form-shell .expense-line button:last-child,
.budget-v99-page .budget-form-shell .expense-row button:last-child,
.budget-v101-page .budget-form-shell .expense-row button:last-child,
.budget-v99-page .budget-form-shell [data-row] button:last-child,
.budget-v101-page .budget-form-shell [data-row] button:last-child{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.095)!important;
  color:#fff!important;
  opacity:1!important;
  font-size:22px!important;
  font-weight:950!important;
}



/* V246 — Cash-flow restore safe */
.budget-v99-page .budget-main,
.budget-v101-page .budget-main,
.budget-v99-page .tool-main,
.budget-v101-page .tool-main{
  min-height:auto!important;
  overflow:visible!important;
}

.budget-v99-page .budget-form-shell,
.budget-v101-page .budget-form-shell{
  overflow:visible!important;
}

/* Croix : seulement style, aucune logique JS */
.budget-v99-page .budget-form-shell button,
.budget-v101-page .budget-form-shell button{
  opacity:1!important;
}

.budget-v99-page .budget-form-shell button:last-child,
.budget-v101-page .budget-form-shell button:last-child{
  color:#fff!important;
}

/* Cible la croix dans une ligne de revenu sans masquer le reste */
.budget-v99-page .budget-form-shell .budget-line button:last-child,
.budget-v101-page .budget-form-shell .budget-line button:last-child,
.budget-v99-page .budget-form-shell .budget-row button:last-child,
.budget-v101-page .budget-form-shell .budget-row button:last-child,
.budget-v99-page .budget-form-shell [class*="row"] button:last-child{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
}

.budget-v99-page .budget-form-shell [class*="row"] button:last-child:hover{
  background:rgba(255,95,95,.18)!important;
  border-color:rgba(255,95,95,.34)!important;
}

/* Sécurité : graphiques et blocs sous la saisie visibles */
.budget-v99-page .budget-charts,
.budget-v101-page .budget-charts,
.budget-v99-page .budget-graphs,
.budget-v101-page .budget-graphs,
.budget-v99-page .budget-verdict,
.budget-v101-page .budget-verdict,
.budget-v99-page .section-card,
.budget-v101-page .section-card{
  visibility:visible!important;
  opacity:1!important;
}


/* V247 — Cash-flow croix visible + boutons propres */
.budget-v99-page .budget-form-shell button,
.budget-v101-page .budget-form-shell button{
  white-space:nowrap!important;
}

/* Croix suppression visible même sans hover */
.budget-v99-page .budget-form-shell [class*="row"] button:last-child,
.budget-v101-page .budget-form-shell [class*="row"] button:last-child,
.budget-v99-page .budget-form-shell [class*="line"] button:last-child,
.budget-v101-page .budget-form-shell [class*="line"] button:last-child,
.budget-v99-page .budget-form-shell .cashflow-remove-btn,
.budget-v101-page .budget-form-shell .cashflow-remove-btn,
.budget-v99-page .budget-form-shell button[aria-label*="Supprimer"],
.budget-v101-page .budget-form-shell button[aria-label*="Supprimer"],
.budget-v99-page .budget-form-shell button[aria-label*="supprimer"],
.budget-v101-page .budget-form-shell button[aria-label*="supprimer"]{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:0 1px 0 rgba(0,0,0,.35)!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.20)!important;
}

/* Si le × est dans un span/svg interne */
.budget-v99-page .budget-form-shell [class*="row"] button:last-child *,
.budget-v101-page .budget-form-shell [class*="row"] button:last-child *,
.budget-v99-page .budget-form-shell [class*="line"] button:last-child *,
.budget-v101-page .budget-form-shell [class*="line"] button:last-child *{
  color:#ffffff!important;
  opacity:1!important;
  fill:#ffffff!important;
  stroke:#ffffff!important;
}

/* Actions sous la saisie : plus de chevauchement */
.budget-v99-page .budget-form-shell .form-actions,
.budget-v101-page .budget-form-shell .form-actions,
.budget-v99-page .budget-form-shell .budget-actions,
.budget-v101-page .budget-form-shell .budget-actions,
.budget-v99-page .budget-form-shell [class*="actions"],
.budget-v101-page .budget-form-shell [class*="actions"]{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
}

/* Boutons d'action lisibles */
.budget-v99-page .budget-form-shell [class*="actions"] button,
.budget-v101-page .budget-form-shell [class*="actions"] button,
.budget-v99-page .budget-form-shell [class*="actions"] a,
.budget-v101-page .budget-form-shell [class*="actions"] a{
  min-width:max-content!important;
  width:auto!important;
  padding:0 18px!important;
  height:42px!important;
  min-height:42px!important;
  font-size:14px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Sauvegarder ne doit pas grossir ou passer sous les autres */
.budget-v99-page .budget-form-shell button[data-save],
.budget-v101-page .budget-form-shell button[data-save],
.budget-v99-page .budget-form-shell [data-save-budget],
.budget-v101-page .budget-form-shell [data-save-budget]{
  min-width:max-content!important;
  width:auto!important;
  max-width:none!important;
  font-size:14px!important;
}

/* Fallback précis sur les 3 boutons visibles */
.budget-v99-page .budget-form-shell a[href*="dashboard"],
.budget-v101-page .budget-form-shell a[href*="dashboard"],
.budget-v99-page .budget-form-shell button[type="button"],
.budget-v101-page .budget-form-shell button[type="button"]{
  white-space:nowrap!important;
}


/* V248 — Cash-flow : boutons d'action sous saisie sans chevauchement */
.budget-v99-page .budget-form-shell [class*="actions"],
.budget-v101-page .budget-form-shell [class*="actions"],
.budget-v99-page .budget-form-shell .form-actions,
.budget-v101-page .budget-form-shell .form-actions,
.budget-v99-page .budget-form-shell .budget-actions,
.budget-v101-page .budget-form-shell .budget-actions{
  position:static!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  transform:none!important;
}

/* Les boutons d'action gardent une taille normale */
.budget-v99-page .budget-form-shell [class*="actions"] a,
.budget-v101-page .budget-form-shell [class*="actions"] a,
.budget-v99-page .budget-form-shell [class*="actions"] button,
.budget-v101-page .budget-form-shell [class*="actions"] button,
.budget-v99-page .budget-form-shell .form-actions a,
.budget-v101-page .budget-form-shell .form-actions a,
.budget-v99-page .budget-form-shell .form-actions button,
.budget-v101-page .budget-form-shell .form-actions button{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:max-content!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1!important;
  border-radius:13px!important;
}

/* Cible spéciale Sauvegarder s'il est généré hors container */
.budget-v99-page .budget-form-shell button[data-save],
.budget-v101-page .budget-form-shell button[data-save],
.budget-v99-page .budget-form-shell [data-save-budget],
.budget-v101-page .budget-form-shell [data-save-budget],
.budget-v99-page .budget-form-shell button:last-of-type:not(.cashflow-remove-btn-v245):not(.cashflow-remove-btn),
.budget-v101-page .budget-form-shell button:last-of-type:not(.cashflow-remove-btn-v245):not(.cashflow-remove-btn){
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  height:42px!important;
  padding:0 18px!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1!important;
}

/* Si le bouton sauvegarder est dans un élément isolé, on le remet dans le flux visuellement */
.budget-v99-page .budget-form-shell > button,
.budget-v101-page .budget-form-shell > button{
  margin-top:12px!important;
}

/* Empêche un texte de bouton de grossir et déborder */
.budget-v99-page .budget-form-shell button,
.budget-v101-page .budget-form-shell button,
.budget-v99-page .budget-form-shell a,
.budget-v101-page .budget-form-shell a{
  text-overflow:clip!important;
  overflow:visible!important;
}

/* Croix : ne pas appliquer les styles d'action */
.budget-v99-page .budget-form-shell [class*="row"] button:last-child,
.budget-v101-page .budget-form-shell [class*="row"] button:last-child,
.budget-v99-page .budget-form-shell [class*="line"] button:last-child,
.budget-v101-page .budget-form-shell [class*="line"] button:last-child{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding:0!important;
}


/* === PEA SIMPLE — DASHBOARD HTML SIZE HARMONIZER v1 ===
   Même échelle visuelle que le dashboard : hero plus compact, largeur maîtrisée, cartes plus nettes. */
@media screen{
  .tool-main,
  .projection-main,
  .compound-page .tool-main.compound-v198,
  body.compound-page .tool-main.compound-v198,
  .dividend-page .tool-main,
  .dividend-goal-page .tool-main,
  .wealth-page .tool-main,
  .wealth-simulator-page .tool-main{
    width:min(1180px,100%)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:20px!important;
    gap:18px!important;
  }
  .tool-topbar{
    padding:16px 18px!important;
    border-radius:22px!important;
  }
  .tool-topbar h1{
    font-size:clamp(26px,3.2vw,38px)!important;
    line-height:.98!important;
  }
  .hero-tool,
  .projection-hero,
  .projection-tool-hero,
  .budget-hero-v99{
    padding:24px!important;
    border-radius:28px!important;
    gap:18px!important;
    min-height:0!important;
  }
  .hero-tool h1,
  .hero-tool h2,
  .projection-hero h2,
  .projection-tool-hero h1,
  .projection-tool-hero h2{
    font-size:clamp(38px,4.7vw,62px)!important;
    line-height:.94!important;
    letter-spacing:-.075em!important;
    max-width:780px!important;
  }
  .hero-tool p,
  .projection-hero p,
  .projection-tool-hero p,
  .budget-hero-v99 p{
    font-size:15.5px!important;
    line-height:1.58!important;
    max-width:690px!important;
  }
  .hero-panel,
  .result-panel-v102,
  .projection-tool-result{
    padding:18px!important;
    border-radius:22px!important;
  }
  .hero-panel strong,
  .result-panel-v102>strong,
  .projection-tool-result strong{
    font-size:clamp(34px,3.8vw,56px)!important;
    line-height:.96!important;
  }
  .section-card,
  .form-card,
  .category-card,
  .summary-item,
  .flow-card,
  .list-card,
  .projection-chart-card{
    padding:18px!important;
    border-radius:22px!important;
  }
}
@media(max-width:720px){
  .tool-main,.projection-main{padding:14px!important;}
  .hero-tool,.projection-hero,.projection-tool-hero,.budget-hero-v99{padding:20px!important;border-radius:22px!important;}
  .hero-tool h1,.hero-tool h2,.projection-hero h2,.projection-tool-hero h1,.projection-tool-hero h2{font-size:36px!important;}
}
