
  :root{
    --bg-0:#0a0908;
    --bg-1:#121009;
    --bg-2:#17140e;
    --panel:#141210;
    --panel-2:#1a1712;
    --border:rgba(201,169,97,0.14);
    --border-strong:rgba(201,169,97,0.28);
    --gold:#c6a15f;
    --gold-soft:#a4864f;
    --gold-bright:#e3c98d;
    --cream:#ece5d6;
    --cream-dim:#c9c1b0;
    --muted:#867e70;
    --muted-2:#5c5648;
    --green:#8fae86;
    --red:#b56a5f;
    --blue:#7f9db3;
    --header-bg:rgba(10,9,8,0.72);
    --theme-glow-1:rgba(198,161,95,0.10);
    --theme-glow-2:rgba(198,161,95,0.05);
  }

  :root[data-theme="light"]{
    --bg-0:#ffffff;
    --bg-1:#ffffff;
    --bg-2:#ffffff;
    --panel:#ffffff;
    --panel-2:#f6f4ef;
    --border:#d8d2c2;
    --border-strong:#b9ae8c;
    --gold:#8a6d1d;
    --gold-soft:#8a6d1d;
    --gold-bright:#7a5f18;
    --cream:#1b1812;
    --cream-dim:#3a352a;
    --muted:#5c5648;
    --muted-2:#5c5648;
    --green:#276b45;
    --red:#a13c30;
    --blue:#2c5c78;
    --header-bg:rgba(255,255,255,0.78);
    --theme-glow-1:rgba(138,109,29,0.06);
    --theme-glow-2:rgba(138,109,29,0.03);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;overflow-anchor:none;}

  body{
    background:
      radial-gradient(ellipse 900px 500px at 85% -5%, var(--theme-glow-1), transparent 60%),
      radial-gradient(ellipse 700px 500px at -10% 30%, var(--theme-glow-2), transparent 55%),
      linear-gradient(180deg, var(--bg-0) 0%, var(--bg-1) 45%, var(--bg-2) 100%);
    background-attachment:fixed;
    color:var(--cream);
    font-family:'Manrope', sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    overflow-x:hidden;
    transition:background-color .3s ease, color .3s ease;
  }

  ::selection{background:rgba(198,161,95,0.25);color:var(--gold-bright);}

  a{color:inherit;text-decoration:none;}

  .display{font-family:'Fraunces', serif;}

  .num{font-variant-numeric: tabular-nums; letter-spacing:-0.01em;}

  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  /* ---------- NAV ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:var(--header-bg);
    backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--border);
    transition:background-color .3s ease, border-color .3s ease;
  }
  nav{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px;
    padding:20px 0;
  }
  .logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Fraunces', serif;
    font-size:19px;
    font-weight:500;
    letter-spacing:0.01em;
    color:var(--gold-bright);
    justify-self:start;
  }
  .logo-mark{
    width:26px;height:26px;
    border:1px solid var(--border-strong);
    border-radius:50%;
    position:relative;
    flex-shrink:0;
  }
  .logo-mark::before{
    content:'';
    position:absolute;
    inset:5px;
    border-radius:50%;
    background:conic-gradient(from 200deg, var(--gold-bright), var(--gold-soft) 40%, transparent 41%, transparent 100%);
    opacity:0.9;
  }
  .hero-logo-mark{
    width:84px;height:84px;
    margin:0 auto 30px;
    border:1px solid var(--border-strong);
    border-radius:50%;
    position:relative;
    animation:heroLogoSpin 22s linear infinite;
  }
  .hero-logo-mark::before{
    content:'';
    position:absolute;
    inset:15px;
    border-radius:50%;
    background:conic-gradient(from 200deg, var(--gold-bright), var(--gold-soft) 40%, transparent 41%, transparent 100%);
    opacity:0.9;
  }
  @keyframes heroLogoSpin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  .hero-illustration{
    max-width:520px;
    margin:0 auto 24px;
  }
  .hero-illustration img{
    display:block; width:100%; height:auto;
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, #000 16%, #000 84%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, #000 16%, #000 84%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, #000 16%, #000 84%, transparent 100%);
    mask-composite:intersect;
  }
  .nav-right{display:flex;align-items:center;gap:28px;justify-self:end;}
  .theme-toggle{
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:50%;
    background:transparent;border:1px solid var(--border-strong);
    cursor:pointer;font-size:15px;line-height:1;
    transition:all .25s ease;
    flex-shrink:0;
  }
  .theme-toggle:hover{border-color:var(--gold);background:rgba(198,161,95,0.08);}
  .nav-links{display:flex;gap:40px;align-items:center;justify-self:center;}
  .nav-links a{
    font-size:14px;color:var(--muted);
    transition:color .25s ease;
  }
  .nav-links a:hover{color:var(--cream);}
  .nav-cta{
    font-size:13.5px;
    padding:9px 20px;
    border:1px solid var(--border-strong);
    border-radius:3px;
    color:var(--gold-bright);
    letter-spacing:0.02em;
    transition:all .25s ease;
  }
  .nav-cta:hover{background:rgba(198,161,95,0.08);border-color:var(--gold);}
  .nav-toggle{display:none;}

  /* ---------- NAV : menu "Outils" (desktop) ---------- */
  .nav-dropdown{position:relative;}
  .nav-dropdown-btn{
    display:flex;align-items:center;gap:6px;
    background:none;border:none;padding:0;
    font-family:'Manrope',sans-serif;font-size:14px;color:var(--muted);
    cursor:pointer;transition:color .25s ease;
  }
  .nav-dropdown-btn:hover, .nav-dropdown.open .nav-dropdown-btn, .nav-dropdown.current .nav-dropdown-btn{color:var(--cream);}
  .nav-dropdown-chevron{transition:transform .25s ease;display:flex;color:currentColor;}
  .nav-dropdown.open .nav-dropdown-chevron{transform:rotate(180deg);}
  .nav-dropdown-panel{
    position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);
    width:540px;max-width:80vw;
    background:linear-gradient(165deg, var(--panel-2), var(--panel));
    border:1px solid var(--border-strong);border-radius:8px;
    box-shadow:0 30px 80px -20px rgba(0,0,0,0.7);
    padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;
    opacity:0;visibility:hidden;translate:0 -6px;
    transition:opacity .18s ease, translate .18s ease, visibility .18s;
    z-index:60;
  }
  .nav-dropdown.open .nav-dropdown-panel{opacity:1;visibility:visible;translate:0 0;}
  .nav-dropdown-panel a{
    display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:5px;
    font-size:13.5px;color:var(--cream-dim);
    transition:background .2s ease, color .2s ease;
  }
  .nav-dropdown-panel a:hover, .nav-dropdown-panel a.active{background:rgba(198,161,95,0.08);color:var(--gold-bright);}
  .nav-dropdown-panel .icon{font-size:15px;flex-shrink:0;}
  .nav-dropdown-panel a.nav-fuites{color:var(--red);}
  .nav-dropdown-panel a.nav-fuites:hover, .nav-dropdown-panel a.nav-fuites.active{color:var(--red);background:rgba(181,106,95,0.08);}

  /* ---------- NAV : hamburger + panel plein (mobile) ---------- */
  .nav-hamburger-btn{
    display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:34px;height:34px;border-radius:6px;flex-shrink:0;
    background:transparent;border:1px solid var(--border-strong);cursor:pointer;
  }
  .nav-hamburger-btn span{display:block;width:16px;height:1.5px;background:var(--cream-dim);transition:all .25s ease;}
  .nav-hamburger-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-hamburger-btn.open span:nth-child(2){opacity:0;}
  .nav-hamburger-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  .mobile-nav-panel{
    display:none;flex-direction:column;
    max-height:0;overflow:hidden;
    transition:max-height .3s ease;
  }
  .mobile-nav-panel.open{max-height:600px;}
  .mobile-nav-panel a{
    padding:14px 2px;border-bottom:1px solid var(--border);
    font-size:14.5px;color:var(--cream-dim);
  }
  .mobile-nav-panel a.active{color:var(--gold-bright);}
  .mobile-nav-panel a.nav-fuites{color:var(--red);}

  /* ---------- HERO ---------- */
  .hero{
    padding:120px 0 100px;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
    position:relative;
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:11.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 auto 26px;
  }
  .eyebrow::before,.eyebrow::after{
    content:'';width:24px;height:1px;
    background:linear-gradient(90deg, transparent, var(--border-strong));
  }
  .eyebrow::after{transform:scaleX(-1);}

  h1{
    font-family:'Fraunces', serif;
    font-weight:400;
    font-size:clamp(38px, 6vw, 68px);
    line-height:1.08;
    letter-spacing:-0.015em;
    max-width:820px;
    margin:0 auto;
    color:var(--cream);
  }
  h1 em{
    font-style:italic;
    font-weight:400;
    color:var(--gold-bright);
  }

  .hero-sub{
    max-width:540px;
    margin:26px auto 0;
    font-size:16.5px;
    color:var(--muted);
    line-height:1.7;
  }

  .hero-actions{
    display:flex;gap:14px;justify-content:center;
    margin-top:38px;
    flex-wrap:wrap;
  }
  .btn{
    padding:14px 28px;
    border-radius:3px;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.01em;
    cursor:pointer;
    transition:all .25s ease;
    display:inline-flex;align-items:center;gap:8px;
  }
  .btn-primary{
    background:linear-gradient(180deg, var(--gold-bright), var(--gold-soft));
    color:#181410;
    border:1px solid transparent;
  }
  .btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);}
  .btn-ghost{
    border:1px solid var(--border-strong);
    color:var(--cream-dim);
    background:transparent;
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);}

  /* ---------- HERO PANEL ---------- */
  .hero-panel{
    max-width:960px;
    margin:76px auto 0;
    border:1px solid var(--border);
    border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
    padding:0;
    overflow:hidden;
    box-shadow:0 40px 100px -30px rgba(0,0,0,0.6);
  }
  .panel-top{
    display:flex;justify-content:space-between;align-items:flex-start;
    padding:28px 32px 8px;
    text-align:left;
    flex-wrap:wrap;
    gap:16px;
  }
  .panel-title{font-size:13px;color:var(--muted);letter-spacing:0.03em;}
  .panel-badge{
    display:flex;align-items:center;gap:8px;
    font-size:13px;
    color:var(--green);
    background:rgba(143,174,134,0.08);
    border:1px solid rgba(143,174,134,0.22);
    padding:6px 12px;
    border-radius:20px;
  }
  .panel-badge .num{font-weight:700;}
  .chart-box{padding:8px 24px 20px;}
  .legend-row{
    display:flex;gap:24px;
    padding:0 32px 22px;
    flex-wrap:wrap;
    text-align:left;
  }
  .legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cream-dim);}
  .legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}

  /* ---------- METRICS ---------- */
  .metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--border);
  }
  .metric{
    padding:26px 32px;
    text-align:left;
    border-right:1px solid var(--border);
  }
  .metric:last-child{border-right:none;}
  .metric-label{font-size:12.5px;color:var(--muted);letter-spacing:0.02em;margin-bottom:10px;}
  .metric-value{
    font-family:'Fraunces', serif;
    font-size:34px;
    font-weight:400;
    color:var(--cream);
  }
  .metric-delta{font-size:12.5px;margin-top:8px;color:var(--muted-2);}
  .metric-delta.up{color:var(--green);}

  /* ---------- SECTION GENERIC ---------- */
  section{padding:110px 0;position:relative;}
  .section-head{
    max-width:640px;
    margin-bottom:64px;
  }
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-eyebrow{
    font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--gold);margin-bottom:18px;
  }
  .section-title{
    font-family:'Fraunces', serif;
    font-size:clamp(28px,3.6vw,42px);
    font-weight:400;
    letter-spacing:-0.01em;
    line-height:1.18;
    color:var(--cream);
  }
  .section-desc{
    margin-top:18px;
    color:var(--muted);
    font-size:15.5px;
    line-height:1.75;
  }
  .divider{
    height:1px;
    background:linear-gradient(90deg, transparent, var(--border-strong), transparent);
    max-width:1180px;margin:0 auto;
  }

  /* ---------- AUTRES OUTILS (pages dédiées) ---------- */
  .other-tools{max-width:900px;margin:64px auto 0;padding-top:32px;border-top:1px solid var(--border);text-align:center;}
  .other-tools-title{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:18px;}
  .other-tools-list{display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:center;}
  .other-tools-list a{font-size:13.5px;color:var(--cream-dim);text-decoration:none;padding:8px 14px;border:1px solid var(--border);border-radius:20px;transition:border-color .2s,color .2s;}
  .other-tools-list a:hover{border-color:var(--gold);color:var(--gold-bright);}
  .other-tools-list a.other-tools-all{color:var(--gold-bright);border-color:var(--border-strong);}

  /* ---------- CONTENU SEO (texte + FAQ sous chaque outil) ---------- */
  .seo-content{max-width:760px;margin:72px auto 0;padding-top:40px;border-top:1px solid var(--border);}
  .seo-content h3{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--cream);margin:0 0 18px;}
  .seo-content p{color:var(--muted);font-size:15px;line-height:1.75;margin:0 0 18px;}
  .seo-content p:last-of-type{margin-bottom:0;}
  .seo-content strong{color:var(--cream-dim);font-weight:600;}
  .faq-list{margin-top:36px;}
  .faq-item{border-top:1px solid var(--border);padding:18px 0;}
  .faq-item:first-child{border-top:none;}
  .faq-q{color:var(--gold-bright);font-size:14.5px;font-weight:600;margin:0 0 8px;}
  .faq-a{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0;}
  .seo-sources{margin-top:28px;font-size:12px;color:var(--muted);font-style:italic;line-height:1.6;}

  /* ---------- ALLOCATION ---------- */
  .alloc-grid{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:80px;
    align-items:center;
  }
  .donut-wrap{
    position:relative;
    width:300px;height:300px;
    margin:0 auto;
  }
  .donut{
    width:100%;height:100%;
    border-radius:50%;
    background:conic-gradient(
      var(--gold-bright) 0 58%,
      var(--gold-soft) 58% 76%,
      #8b7048 76% 88%,
      #5f4e34 88% 96%,
      #3a3226 96% 100%
    );
    -webkit-mask:radial-gradient(circle, transparent 62%, black 63%);
            mask:radial-gradient(circle, transparent 62%, black 63%);
    filter:drop-shadow(0 20px 40px rgba(0,0,0,0.45));
  }
  .donut-center{
    position:absolute;inset:0;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;
  }
  .donut-center .num{
    font-family:'Fraunces', serif;
    font-size:30px;color:var(--cream);
  }
  .donut-center span{
    font-size:11.5px;color:var(--muted);letter-spacing:0.05em;text-transform:uppercase;margin-top:4px;
  }

  .zones{display:flex;flex-direction:column;gap:0;}
  .zone-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 0;
    border-bottom:1px solid var(--border);
  }
  .zone-row:first-child{padding-top:0;}
  .zone-left{display:flex;align-items:center;gap:14px;}
  .zone-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;}
  .zone-name{font-size:15px;color:var(--cream-dim);}
  .zone-sub{font-size:12.5px;color:var(--muted-2);margin-top:2px;}
  .zone-right{display:flex;align-items:baseline;gap:14px;}
  .zone-pct{
    font-family:'Fraunces', serif;
    font-size:20px;color:var(--cream);
  }
  .zone-bar{
    width:110px;height:4px;background:rgba(255,255,255,0.05);
    border-radius:2px;overflow:hidden;
  }
  .zone-bar-fill{height:100%;border-radius:2px;}

  /* ---------- COMPARISON TABLE ---------- */
  .table-wrap{
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
    background:rgba(255,255,255,0.012);
  }
  table{width:100%;border-collapse:collapse;}
  thead th{
    text-align:left;
    font-size:12px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:500;
    padding:20px 26px;
    border-bottom:1px solid var(--border);
  }
  thead th:not(:first-child){text-align:right;}
  tbody td{
    padding:22px 26px;
    font-size:15px;
    border-bottom:1px solid var(--border);
  }
  tbody tr:last-child td{border-bottom:none;}
  tbody td:not(:first-child){text-align:right;font-family:'Fraunces', serif;font-size:17px;color:var(--cream-dim);}
  .row-name{display:flex;align-items:center;gap:12px;}
  .row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .row-label{font-size:14.5px;}
  .row-label small{display:block;color:var(--muted-2);font-size:12px;font-weight:400;margin-top:2px;}
  tr.highlight{background:rgba(198,161,95,0.045);}
  tr.highlight td:not(:first-child){color:var(--gold-bright);}
  .pos{color:var(--green) !important;}
  .neg{color:var(--red) !important;}

  /* ---------- STEPS ---------- */
  .steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--border);
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
  }
  .step{
    background:var(--bg-1);
    padding:40px 34px;
  }
  .step-index{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:15px;
    color:var(--gold);
    margin-bottom:22px;
  }
  .step h3{
    font-family:'Fraunces', serif;
    font-weight:400;
    font-size:21px;
    color:var(--cream);
    margin-bottom:12px;
  }
  .step p{font-size:14.5px;color:var(--muted);line-height:1.7;}
  .sim-method-card:hover{background:var(--panel-2);}
  .sim-method-card.active{background:rgba(198,161,95,0.06);box-shadow:inset 0 0 0 1px var(--border-strong);}
  .sim-method-card.active .step-index{color:var(--gold-bright);}

  /* ---------- CTA ---------- */
  .cta{
    text-align:center;
    padding:120px 0 140px;
  }
  .cta .section-title{max-width:560px;margin:0 auto;}
  .cta .hero-actions{margin-top:36px;}
  .cta-fine{margin-top:22px;font-size:13px;color:var(--muted-2);}

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--border);
    padding:48px 0;
  }
  .foot-row{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:20px;
  }
  .foot-links{display:flex;flex-wrap:wrap;gap:14px 28px;}
  .foot-links a{font-size:13.5px;color:var(--muted);}
  .foot-links a:hover{color:var(--cream-dim);}
  .foot-copy{font-size:12.5px;color:var(--muted-2);}
  .disclaimer{
    margin-top:28px;
    padding-top:28px;
    border-top:1px solid var(--border);
    font-size:12px;
    color:var(--muted-2);
    line-height:1.7;
    max-width:760px;
  }

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- ACCUEIL ---------- */
  #accueil{padding:0;}
  .home-tools-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  }
  @media(max-width:860px){ .home-tools-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .home-tools-grid{grid-template-columns:1fr;} }
  .home-tool-card{
    display:block;
    padding:28px 26px;
    border:1px solid var(--border);
    border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
    transition:border-color .25s ease, transform .25s ease, background .25s ease;
  }
  .home-tool-card:hover{border-color:var(--gold);transform:translateY(-3px);background:var(--panel-2);}
  .home-tool-icon{font-size:26px;margin-bottom:16px;display:block;}
  .home-tool-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:18px;color:var(--gold-bright);margin-bottom:8px;}
  .home-tool-card p{font-size:13.5px;color:var(--muted);line-height:1.65;}
  .home-tool-card.fuites-card:hover{border-color:var(--red);}
  .home-tool-card.fuites-card h3{color:var(--red);}

  /* ---------- BACKTEST CRISES ---------- */
  .backtest-layout{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start;}
  .backtest-sidebar{position:sticky;top:91px;max-height:calc(100vh - 111px);overflow-y:auto;padding-right:4px;}
  .backtest-sidebar::-webkit-scrollbar{width:6px;}
  .backtest-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
  .backtest-main{min-width:0;}
  @media(max-width:980px){
    .backtest-layout{display:block;}
    .backtest-sidebar{position:static;max-height:none;overflow-y:visible;padding-right:0;}
  }
  .backtest-results-controls{margin:0 0 20px;padding:0 4px;display:flex;flex-wrap:wrap;gap:10px 32px;}
  .backtest-results-grid{
    display:grid;grid-template-columns:1fr;gap:20px;
  }
  .backtest-crisis-card{
    padding:24px 24px 20px;
    border:1px solid var(--border);
    border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
  }
  .backtest-crisis-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:18px;color:var(--gold-bright);margin-bottom:2px;}
  .backtest-crisis-card .backtest-periode{font-size:12px;color:var(--muted);margin-bottom:14px;}
  .backtest-crisis-card .metrics{grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:6px;margin:14px 0;}
  .backtest-crisis-card .metric{padding:14px 12px;}
  .backtest-crisis-card .metric-value{font-size:20px;}
  .backtest-crisis-card .backtest-note{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:12px;}
  .bt-dca-row{margin-top:8px;}
  .bt-dca-check{font-size:11.5px;margin:0;}
  .bt-dca-controls{display:none;margin-top:6px;gap:8px;flex-wrap:wrap;}
  .bt-dca-controls.active{display:flex;}
  .bt-dca-select{width:auto;max-width:140px;padding:6px 10px;font-size:12px;height:auto;}
  .bt-dca-custom{width:100px;padding:6px 10px;font-size:12px;height:auto;display:none;}
  .bt-dca-custom.active{display:block;}
  .backtest-chart-caption{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px;}

  /* ---------- SUIVI DE PATRIMOINE ---------- */
  .patr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-top:20px;}
  @media(max-width:820px){ .patr-grid{grid-template-columns:1fr;} }
  .patr-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;}
  .patr-total span{color:var(--muted);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;}
  .patr-total strong{font-family:'Fraunces',serif;font-weight:400;font-size:26px;color:var(--gold-bright);}
  .patr-row{display:grid;grid-template-columns:28px minmax(0,1fr) 150px 110px 90px 28px;gap:8px;align-items:center;margin-bottom:10px;}
  @media(max-width:700px){
    .patr-row{grid-template-columns:28px minmax(0,1fr) 90px 28px;grid-template-areas:"c n v d" ". k t .";row-gap:6px;margin-bottom:16px;}
    .patr-row>:nth-child(1){grid-area:c;}
    .patr-row>:nth-child(2){grid-area:n;}
    .patr-row>:nth-child(3){grid-area:k;}
    .patr-row>:nth-child(4){grid-area:v;}
    .patr-row>:nth-child(5){grid-area:t;}
    .patr-row>:nth-child(6){grid-area:d;}
    .patr-head{display:none;}
  }
  .patr-row input.app-input[type="color"]{width:28px;height:28px;padding:0;border:none;background:none;cursor:pointer;border-radius:50%;}
  .patr-row button{border:none;background:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;}
  .patr-row button:hover{color:var(--red);}
  .patr-head{color:var(--muted);font-size:11px;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:6px;}
  .patr-yield{margin-top:14px;padding:12px 14px;border-radius:4px;background:var(--bg-2);border:1px solid var(--border);font-size:13px;color:var(--cream-dim);display:none;}
  .patr-yield b{color:var(--gold-bright);}
  .patr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center;}
  .patr-note{color:var(--muted);font-size:12px;margin-top:16px;line-height:1.6;}
  .patr-pie{display:flex;justify-content:center;}
  .patr-pie svg{width:100%;max-width:300px;height:auto;}
  .patr-pie path, .patr-pie circle.patr-slice{stroke:var(--panel);stroke-width:2;transition:transform .15s;cursor:pointer;transform-origin:50% 50%;}
  .patr-pie path:hover, .patr-pie circle.patr-slice:hover{transform:scale(1.03);}
  .patr-legend{margin-top:16px;}
  .patr-lg{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);}
  .patr-lg:last-child{border:none;}
  .patr-dot{width:11px;height:11px;border-radius:50%;flex:none;}
  .patr-lg .patr-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cream-dim);font-size:13.5px;}
  .patr-lg .patr-p{font-weight:600;min-width:52px;text-align:right;color:var(--cream);font-size:13.5px;}
  .patr-lg .patr-a{color:var(--muted);min-width:90px;text-align:right;font-size:13px;}
  .patr-lg .patr-y{color:var(--gold-bright);min-width:56px;text-align:right;font-size:12px;}
  .patr-empty{color:var(--muted);text-align:center;padding:50px 10px;font-style:italic;font-size:13.5px;}
  #patr-tip{position:fixed;pointer-events:none;background:var(--cream);color:var(--bg-0);padding:6px 10px;border-radius:4px;font-size:12.5px;display:none;z-index:9;}
  .patr-curve svg{width:100%;height:auto;}
  .patr-ax{fill:var(--muted);font-size:11px;}
  .patr-gl{stroke:var(--border);}
  .patr-summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;color:var(--muted);}
  .patr-summary b{color:var(--cream);}
  .patr-summary .patr-up{color:var(--green);}
  .patr-summary .patr-down{color:var(--red);}
  .patr-snaps{margin-top:14px;font-size:13px;}
  .patr-snaps div{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);color:var(--cream-dim);}
  .patr-snaps button{border:none;background:none;color:var(--muted);cursor:pointer;font-size:16px;}
  .patr-snaps button:hover{color:var(--red);}
  .patr-download{margin-top:28px;text-align:center;}

  /* ---------- CODES DE PARRAINAGE ---------- */
  .parrainage-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:20px;
  }
  @media(max-width:640px){ .parrainage-grid{grid-template-columns:1fr;} }
  .parrainage-card{
    display:flex;flex-direction:column;align-items:flex-start;
    padding:28px 26px;
    border:1px solid var(--border);
    border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
  }
  .parrainage-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:18px;color:var(--gold-bright);margin-bottom:8px;}
  .parrainage-card p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:18px;}
  .parrainage-card .btn{margin-top:auto;}

  /* ---------- PODCAST & ARTICLES ---------- */
  .podcast-episode-card, .article-card, .article-detail{
    border:1px solid var(--border);border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
    padding:22px 24px;margin-bottom:16px;
  }
  .podcast-episode-head, .article-card-head, .article-detail-head{
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:8px;
  }
  .podcast-episode-head h3, .article-card h3, .article-detail-head h3{
    font-family:'Fraunces',serif;font-weight:400;font-size:18px;color:var(--gold-bright);margin:0;
  }
  .podcast-episode-date, .article-date{font-size:12px;color:var(--muted);white-space:nowrap;}
  .podcast-episode-desc, .article-excerpt{font-size:13.5px;color:var(--muted);line-height:1.65;margin:0;}
  .podcast-empty, .article-empty{font-size:13.5px;color:var(--muted);font-style:italic;padding:18px 0;}
  .article-card{cursor:pointer;transition:border-color .2s ease, transform .2s ease;}
  .article-card:hover{border-color:var(--gold);transform:translateY(-2px);}
  .article-read-btn{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--gold-bright);cursor:pointer;}
  .article-read-btn:hover{text-decoration:underline;}
  .article-detail-body{font-size:14.5px;color:var(--cream-dim);line-height:1.8;margin-top:16px;}
  .article-detail-body p{margin-bottom:14px;}
  .article-back-btn{margin-bottom:18px;}
  .podcast-subsection-title{font-family:'Fraunces',serif;font-size:20px;font-weight:400;color:var(--gold-bright);margin-bottom:14px;}
  #podcast-comments-wrap .app-banner{margin-bottom:18px;}
  #cusdis_thread iframe{ min-height:600px !important; width:100% !important; border:none !important; }

  /* ---------- PAGES (navigation par onglets) ---------- */
  .page{display:none;}
  .page.page-active{display:block;}
  .page.page-active:not(.page-leaving){animation:pageEnter .5s cubic-bezier(.16,.8,.24,1) both;}
  .page.page-leaving{animation:pageLeave .16s ease both;}
  @keyframes pageEnter{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
  @keyframes pageLeave{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(-10px);}}
  .nav-links a.active{color:var(--gold-bright);}
  .nav-links a.nav-fuites, .foot-links a.nav-fuites{color:var(--red);font-weight:700;}
  .nav-links a.nav-fuites.active{color:var(--red);}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .page.page-active,.page.page-leaving{animation:none;}
    .hero-logo-mark{animation:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- MODALE ---------- */
  .sim-modal-overlay{
    position:fixed;inset:0;z-index:200;
    background:rgba(10,9,8,0.75);
    display:flex;align-items:center;justify-content:center;
    padding:24px;
  }
  .sim-modal-box{
    max-width:640px;width:100%;max-height:85vh;overflow-y:auto;
  }
  .sim-modal-overlay .sim-modal-box{
    background:linear-gradient(165deg, var(--bg-1) 0%, var(--bg-0) 100%);
    border:1px solid var(--gold);
    box-shadow:0 40px 120px -20px rgba(0,0,0,0.9), 0 0 0 1px rgba(198,161,95,0.12);
  }

  /* ---------- IMPRESSION / EXPORT PDF ---------- */
  @media print{
    @page{ size:auto; margin:12mm 10mm; }
    :root, :root[data-theme]{
      --bg-0:#ffffff; --bg-1:#ffffff; --bg-2:#ffffff;
      --panel:#ffffff; --panel-2:#f6f4ef;
      --border:#d8d2c2; --border-strong:#b9ae8c;
      --gold:#8a6d1d; --gold-soft:#8a6d1d; --gold-bright:#7a5f18;
      --cream:#1b1812; --cream-dim:#3a352a; --muted:#5c5648; --muted-2:#5c5648;
      --green:#276b45; --red:#a13c30; --blue:#2c5c78;
    }
    * { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
    html, body{ width:100%; background:#ffffff !important; }
    .wrap{ max-width:100% !important; width:100% !important; margin:0 !important; padding:0 !important; }
    .page{ animation:none !important; }
    .app-panel{ box-shadow:none !important; padding:0 !important; border:none !important; background:none !important; }
    #sim-synthese-block{ box-shadow:none !important; background:none !important; border:1px solid var(--gold); break-inside:avoid; page-break-inside:avoid; }
    header, footer, #budget-pdf-export, #budget-edit-btn, #budget-progress,
    #acheter-pdf-export, #acheter-synthese-open, #acheter-crash-add,
    #sim-pdf-export, #sim-synthese-open, .sim-modal-overlay, .steps.reveal, #sim-direction-picker, #sim-reverse-intro,
    #sim-inputs, #sim-actions, #acheter-inputs, #acheter-actions{ display:none !important; }
    #fuites-actions, .fuites-module-fields, .fuites-module-toggle, .ra-inputs, #ra-actions,
    #urgence-inputs, #urgence-actions, #anticipe-inputs, #anticipe-actions{ display:none !important; }
    #peacto-inputs, #peacto-actions, #peacto-retrait-inputs, #opt2op-inputs{ display:none !important; }
    #podcast-comments-wrap, .article-back-btn, audio{ display:none !important; }
    #sim-print-title, #acheter-print-title{ display:block !important; }
    #acheter-breakdown summary::marker, #acheter-breakdown summary::-webkit-details-marker{ display:none !important; }
    #acheter-breakdown summary{ pointer-events:none; }
    select.app-input{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1812' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important; }

    .section-head{ margin-bottom:20px !important; }
    .section-title{ font-size:22px !important; }
    .section-desc{ font-size:13px !important; margin-top:8px !important; }

    /* rien ne doit se couper au milieu d'une ligne/carte */
    .metrics{ break-inside:avoid; page-break-inside:avoid; }
    .metric{ padding:12px 14px !important; break-inside:avoid; page-break-inside:avoid; }
    .metric-value{ font-size:24px !important; }
    .crash-row{ break-inside:avoid; page-break-inside:avoid; }
    #acheter-bars > div, .app-banner{ break-inside:avoid; page-break-inside:avoid; }
    svg{ break-inside:avoid; page-break-inside:avoid; }
    p{ break-inside:avoid; page-break-inside:avoid; orphans:3; widows:3; }

    /* tableaux : plus compacts, jamais tronqués sur la largeur, lignes jamais coupées */
    .app-table-wrap{ overflow:visible !important; margin-top:16px !important; }
    table{ width:100% !important; table-layout:auto; font-size:12px !important; }
    thead{ display:table-header-group; }
    tr{ break-inside:avoid; page-break-inside:avoid; }
    thead th, tbody td, .app-table-wrap th, .app-table-wrap td{ padding:8px 8px !important; }
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    .nav-links{display:none;}
    .nav-hamburger-btn{display:flex;}
    .mobile-nav-panel{display:flex;}
    .metrics{grid-template-columns:1fr;}
    .metric{border-right:none;border-bottom:1px solid var(--border);}
    .alloc-grid{grid-template-columns:1fr;gap:48px;}
    .steps{grid-template-columns:1fr;}
    table{font-size:13px;}
    thead th, tbody td{padding:16px 16px;}
    .wrap{padding:0 20px;}
  }

  /* ---------- APP: formulaires, tableaux, recherche (même palette) ---------- */
  .app-panel{
    border:1px solid var(--border);
    border-radius:8px;
    background:linear-gradient(165deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
    padding:32px;
    box-shadow:0 40px 100px -30px rgba(0,0,0,0.6);
  }
  .app-banner{
    font-size:13px;color:var(--gold-bright);
    background:rgba(198,161,95,0.08);border:1px solid rgba(198,161,95,0.28);
    padding:12px 16px;border-radius:6px;margin-bottom:24px;line-height:1.6;
  }
  .app-banner.ok{color:var(--green);background:rgba(143,174,134,0.08);border-color:rgba(143,174,134,0.32);}
  .app-banner.bad{color:var(--red);background:rgba(181,106,95,0.08);border-color:rgba(181,106,95,0.32);}
  .app-banner.ok b, .app-banner.bad b{font-weight:700;}
  .ra-field-hint{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.55;}
  .ra-source-badge{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--red);margin-top:8px;line-height:1.4;}
  .ra-source-badge a{color:var(--red);text-decoration:underline;}
  .ra-field-code{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;padding:0 5px;margin-right:8px;border-radius:4px;background:rgba(198,161,95,0.18);border:1px solid rgba(198,161,95,0.4);color:var(--gold-bright);font-size:11px;font-weight:700;font-family:'Manrope',sans-serif;letter-spacing:.02em;vertical-align:2px;}
  .field-hint{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.55;}
  .app-panel-compact{padding:22px 32px;}
  .app-collapse-header{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
    background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;
    color:inherit;font-family:inherit;
  }
  .app-collapse-header-text{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;}
  .app-collapse-header-text .panel-title{margin-bottom:0;}
  .app-collapse-sub{font-size:12.5px;color:var(--muted);line-height:1.5;}
  .app-collapse-chevron{
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    width:30px;height:30px;border-radius:50%;border:1px solid var(--border-strong);
    color:var(--muted);transition:transform .25s ease, border-color .25s ease, color .25s ease;
  }
  .app-collapse-header:hover .app-collapse-chevron{border-color:var(--gold);color:var(--gold-bright);}
  .app-collapse-header[aria-expanded="true"] .app-collapse-chevron{transform:rotate(180deg);border-color:var(--gold);color:var(--gold-bright);}
  .app-collapse-body{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .app-collapse-body-inner{padding-top:24px;}
  .app-label{display:block;font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
  .app-field-row{display:grid;grid-template-columns:1fr;gap:16px;}
  @media(min-width:640px){ .app-field-row.three{grid-template-columns:1fr 1fr 1fr;} }
  @media(min-width:640px){ .app-field-row.two{grid-template-columns:1fr 1fr;} }
  .diag-options{display:flex;flex-direction:column;gap:10px;}
  .diag-option-btn{
    display:block;width:100%;text-align:left;
    padding:15px 20px;border-radius:6px;
    border:1px solid var(--border-strong);
    background:transparent;color:var(--cream-dim);
    font-family:'Manrope',sans-serif;font-size:14.5px;
    cursor:pointer;transition:all .2s ease;
  }
  .diag-option-btn:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(198,161,95,0.06);}
  .app-input{
    width:100%;background:var(--bg-2);border:1px solid var(--border);
    color:var(--cream);padding:12px 14px;font-family:'Manrope',sans-serif;
    font-size:14.5px;border-radius:4px;outline:none;
  }
  .app-input::placeholder{color:var(--muted-2);}
  .app-input:focus{border-color:var(--gold);}
  select.app-input{
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    cursor:pointer;padding-right:40px;
    background-repeat:no-repeat;background-position:right 14px center;background-size:14px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  }
  input.app-input[type="number"]{
    -moz-appearance:textfield;
  }
  input.app-input[type="number"]::-webkit-outer-spin-button,
  input.app-input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance:none;margin:0;
  }
  :root[data-theme="light"] select.app-input{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1812' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  }
  .app-search-wrap{position:relative;}
  .app-search-dropdown{
    position:absolute;top:calc(100% + 6px);left:0;right:0;
    background:var(--bg-2);border:1px solid var(--gold);border-radius:6px;
    max-height:260px;overflow-y:auto;z-index:30;display:none;
  }
  .app-search-dropdown.open{display:block;}
  .app-search-item{padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--border);}
  .app-search-item:last-child{border-bottom:none;}
  .app-search-item:hover{background:var(--panel-2);}
  .app-si-name{font-size:14px;color:var(--cream);}
  .app-si-meta{font-size:11.5px;color:var(--muted);margin-top:2px;}
  .app-search-empty{padding:14px;font-size:13px;color:var(--muted);font-style:italic;}
  .app-search-group-label{padding:10px 14px 4px;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold-bright);}
  .app-search-yahoo-hint{padding:12px 14px;font-size:11.5px;color:var(--muted);line-height:1.6;border-top:1px solid var(--border);}
  .app-search-yahoo-hint a{color:var(--gold-bright);text-decoration:underline;}
  .app-chip{
    margin-top:12px;display:flex;align-items:center;gap:10px;
    background:var(--bg-2);border:1px solid var(--gold);padding:10px 14px;border-radius:4px;font-size:13.5px;
  }
  .app-chip button{margin-left:auto;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline;}
  .app-form-actions{margin-top:20px;display:flex;justify-content:flex-end;}
  .app-table-wrap{margin-top:32px;overflow-x:auto;}
  .app-table-wrap table{width:100%;border-collapse:collapse;}
  .app-table-wrap th{text-align:left;font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--border);font-weight:500;}
  .app-table-wrap th.num, .app-table-wrap td.num{text-align:right;}
  .app-table-wrap td{padding:14px 10px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle;color:var(--cream-dim);}
  .app-row-name{color:var(--cream);font-size:14.5px;}
  .app-row-meta{font-size:11.5px;color:var(--muted-2);margin-top:2px;}
  .app-current-input{width:100px;padding:8px 10px;font-size:13.5px;text-align:right;border-radius:4px;}
  .app-price-err{color:var(--red);font-size:10.5px;text-align:right;margin-top:4px;max-width:160px;margin-left:auto;}
  .app-price-loading{color:var(--muted);font-style:italic;font-size:12px;}

  /* ---------- tableau façon tableur (feuille de calcul) ---------- */
  .spreadsheet-grid{border:1px solid rgba(198,161,95,0.4);}
  .spreadsheet-grid th, .spreadsheet-grid td{border:1px solid rgba(198,161,95,0.22);padding:12px 8px;}
  .spreadsheet-grid thead th{background:rgba(198,161,95,0.05);}
  .spreadsheet-grid tbody tr:hover td{background:rgba(198,161,95,0.03);}
  .spreadsheet-grid .app-quality-select, .spreadsheet-grid .app-type-input, .spreadsheet-grid .app-source-input{
    padding:8px 8px;font-size:13px;
  }
  #pos-new-row td{padding:8px;background:rgba(198,161,95,0.045);vertical-align:middle;}
  #pos-new-row input, #pos-new-row select{
    background:transparent;border:1px solid transparent;padding:8px 8px;
    font-size:13px;border-radius:4px;color:var(--cream-dim);width:100%;
  }
  #pos-new-row input::placeholder{color:var(--muted-2);}
  #pos-new-row input:focus, #pos-new-row select:focus{background:var(--bg-2);border-color:var(--gold);color:var(--cream);}
  #pos-new-row input[readonly]{color:var(--muted);font-style:italic;}
  #pos-new-row .new-row-add-btn{padding:9px 16px;font-size:12px;white-space:nowrap;}
  #new-row-detail td{background:rgba(198,161,95,0.045);}
  .app-row-expand-btn{
    display:flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);
    background:transparent;color:var(--muted);cursor:pointer;
    transition:transform .2s ease, border-color .2s ease, color .2s ease;
  }
  .app-row-expand-btn:hover{border-color:var(--gold);color:var(--gold-bright);}
  .app-row-expand-btn.open{transform:rotate(180deg);border-color:var(--gold);color:var(--gold-bright);}
  .app-detail-row td{padding:16px 18px;background:rgba(255,255,255,0.012);border-top:none;}
  .app-detail-grid{display:grid;grid-template-columns:repeat(4, minmax(140px,1fr));gap:16px;}
  .app-detail-grid .app-label{margin-bottom:6px;}
  .app-detail-grid .app-input{width:100%;}
  @media(max-width:900px){ .app-detail-grid{grid-template-columns:1fr 1fr;} }
  .app-btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--muted);font-size:12px;padding:7px 12px;cursor:pointer;border-radius:4px;}
  .app-btn-ghost:hover{border-color:var(--red);color:var(--red);}
  .app-empty{color:var(--muted);font-size:14px;padding:26px 10px;text-align:center;font-style:italic;}
  .app-refresh-btn{font-size:12px;background:transparent;border:1px solid var(--border-strong);color:var(--muted);padding:8px 14px;border-radius:4px;cursor:pointer;letter-spacing:0.02em;}
  .app-refresh-btn:hover{border-color:var(--gold);color:var(--gold-bright);}
  .app-panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;}
  .app-radio-group{display:flex;gap:10px;flex-wrap:wrap;}
  .app-radio-pill{display:flex;align-items:center;gap:7px;background:var(--bg-2);border:1px solid var(--border);padding:10px 16px;font-size:13.5px;cursor:pointer;border-radius:4px;color:var(--cream-dim);}
  .app-radio-pill:has(input:checked){border-color:var(--gold);color:var(--gold-bright);}
  .app-radio-pill input{accent-color:var(--gold);}
  .app-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14.5px;cursor:pointer;color:var(--cream-dim);}
  .app-checkbox-label input{accent-color:var(--gold);width:16px;height:16px;}
  .app-empty-state{border:1px dashed var(--border-strong);border-radius:8px;padding:40px 24px;text-align:center;color:var(--muted);}
  .app-empty-state .btn{margin-top:18px;}
  .panel-badge.neg{color:var(--red);background:rgba(181,106,95,0.08);border-color:rgba(181,106,95,0.22);}
  .chart-bar-label{font-family:'Manrope',sans-serif;font-size:10.5px;fill:var(--muted);}
  .chart-value-label{font-family:'Manrope',sans-serif;font-size:12.5px;font-weight:700;}
