:root{
      --bg:#f6f4ef;
      --paper:#fffdf8;
      --ink:#1d2328;
      --muted:#626b72;
      --line:#ddd7ca;
      --red:#a7262f;
      --red-2:#7f1e25;
      --gold:#bd8b3d;
      --green:#1f6b53;
      --blue:#275d87;
      --orange:#a85c20;
      --shadow:0 18px 50px rgba(40,35,28,.10);
      --radius:22px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:
        radial-gradient(circle at 10% 0%, rgba(167,38,47,.08), transparent 30%),
        radial-gradient(circle at 90% 10%, rgba(189,139,61,.10), transparent 32%),
        var(--bg);
      color:var(--ink);
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height:1.66;
    }

    a{color:var(--red-2); text-decoration-thickness:1px; text-underline-offset:3px}
    a:hover{color:var(--red)}
    button{font:inherit}
    .wrap{width:min(var(--max), calc(100% - 32px)); margin:auto}

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:blur(18px);
      background:rgba(255,253,248,.88);
      border-bottom:1px solid rgba(221,215,202,.85);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      min-height:68px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .brand-mark{
      width:34px;height:34px;border-radius:50%;
      display:grid;place-items:center;
      object-fit:contain;
      background:#fff7fa;
      box-shadow:0 8px 24px rgba(167,38,47,.22);
    }
    .nav-actions{display:flex;align-items:center;gap:10px}
    .guide-home-btn{
      min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;
      border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);
      text-decoration:none;font-weight:820;white-space:nowrap;box-shadow:0 4px 18px rgba(40,35,28,.05)
    }
    .guide-home-btn:hover{color:var(--red-2);border-color:#e6a9bf}
    .lang-switch{
      display:flex;
      padding:4px;
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      box-shadow:0 4px 18px rgba(40,35,28,.05);
    }
    .lang-switch button{
      border:0;
      background:transparent;
      padding:8px 12px;
      border-radius:999px;
      cursor:pointer;
      color:var(--muted);
      font-weight:800;
    }
    .lang-switch button.active{
      color:#fff;
      background:var(--red);
    }
    .print-btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      padding:10px 14px;
      border-radius:12px;
      cursor:pointer;
      font-weight:700;
    }

    .hero{
      padding:68px 0 34px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:26px;
      align-items:stretch;
    }
    .hero-card,.hero-side,.section,.toc,.source-box{
      background:rgba(255,253,248,.94);
      border:1px solid rgba(221,215,202,.88);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .hero-card{padding:48px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:#f1e6e1;
      color:var(--red-2);
      font-size:.86rem;
      font-weight:850;
      letter-spacing:.02em;
      text-transform:uppercase;
    }
    h1{
      margin:20px 0 18px;
      font-size:clamp(2.6rem,4.5vw,4.75rem);
      line-height:.98;
      letter-spacing:-.055em;
      max-width:16ch;
    }
    .lead{
      max-width:72ch;
      font-size:1.12rem;
      color:#465057;
      margin:0 0 22px;
    }
    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:26px;
    }
    .pill{
      padding:8px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      font-weight:700;
      font-size:.9rem;
    }
    .hero-side{
      padding:28px;
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      background:
        linear-gradient(150deg, rgba(167,38,47,.98), rgba(87,24,29,.98));
      color:#fff;
      border:0;
    }
    .hero-side h2{
      margin:0 0 14px;
      font-size:1.7rem;
      letter-spacing:-.03em;
    }
    .hero-side p{color:rgba(255,255,255,.88)}
    .route{
      margin-top:28px;
      display:grid;
      gap:12px;
    }
    .route-item{
      display:grid;
      grid-template-columns:34px 1fr;
      gap:12px;
      align-items:start;
      padding:13px 0;
      border-top:1px solid rgba(255,255,255,.17);
    }
    .route-item:first-child{border-top:0}
    .route-num{
      width:32px;height:32px;border-radius:50%;
      display:grid;place-items:center;
      background:rgba(255,255,255,.14);
      font-weight:900;
    }

    .notice{
      margin:22px 0 0;
      padding:18px 20px;
      background:#fff6df;
      border:1px solid #ead39e;
      border-radius:16px;
      color:#604b20;
    }

    .toc{
      margin:28px auto;
      padding:28px;
    }
    .toc h2{margin:0 0 18px;font-size:1.35rem}
    .toc-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
    }
    .toc a{
      text-decoration:none;
      color:var(--ink);
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      padding:14px 16px;
      display:block;
      font-weight:760;
      transition:.2s ease;
    }
    .toc a:hover{
      transform:translateY(-2px);
      border-color:#c6bcae;
      box-shadow:0 10px 24px rgba(40,35,28,.08);
    }

    main{padding:10px 0 64px}
    .section{
      margin:24px 0;
      padding:34px;
      scroll-margin-top:88px;
    }
    .section-head{
      display:grid;
      grid-template-columns:64px 1fr;
      gap:18px;
      align-items:start;
      margin-bottom:24px;
    }
    .step{
      width:58px;height:58px;border-radius:18px;
      display:grid;place-items:center;
      background:#f3e7e8;
      color:var(--red);
      font-size:1.45rem;
      font-weight:950;
      border:1px solid #e7cccf;
    }
    .section h2{
      margin:0;
      font-size:clamp(1.65rem,3vw,2.45rem);
      letter-spacing:-.035em;
      line-height:1.08;
    }
    .section .subtitle{
      margin:8px 0 0;
      color:var(--muted);
      font-size:1rem;
    }
    .grid-2{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
      margin-top:18px;
    }
    .card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:20px;
    }
    .card h3{margin:0 0 10px;font-size:1.05rem}
    .card p:last-child{margin-bottom:0}
    .checklist{
      list-style:none;
      padding:0;
      margin:14px 0 0;
      display:grid;
      gap:8px;
    }
    .checklist li{
      position:relative;
      padding-left:28px;
    }
    .checklist li:before{
      content:"✓";
      position:absolute;left:0;top:0;
      width:20px;height:20px;border-radius:50%;
      display:grid;place-items:center;
      background:#e8f3ee;color:var(--green);
      font-size:.78rem;font-weight:900;
      margin-top:2px;
    }
    .warning{
      margin-top:18px;
      padding:18px 20px;
      border-left:5px solid var(--orange);
      background:#fff6ed;
      border-radius:14px;
    }
    .experience{
      margin-top:18px;
      padding:19px 20px;
      border:1px solid #d7e3ea;
      background:#f1f7fa;
      border-radius:16px;
    }
    .experience strong{color:var(--blue)}
    .result{
      margin-top:18px;
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:18px 20px;
      background:#edf7f1;
      border:1px solid #cce4d4;
      border-radius:16px;
    }
    .result .icon{
      min-width:30px;height:30px;border-radius:50%;
      display:grid;place-items:center;
      background:#d8eddf;color:var(--green);font-weight:900;
    }

    .timeline{
      display:grid;
      gap:14px;
      margin:22px 0 0;
    }
    .timeline-item{
      display:grid;
      grid-template-columns:150px 1fr;
      gap:16px;
      align-items:start;
    }
    .timeline-date{
      font-weight:900;
      color:var(--red-2);
    }
    .timeline-body{
      border-left:3px solid #ead9d0;
      padding-left:18px;
    }

    .address{
      font-style:normal;
      line-height:1.7;
      padding:18px 20px;
      background:#f8f6f1;
      border-radius:16px;
      border:1px dashed #cfc6b8;
    }

    .source-box{
      margin:26px 0 0;
      padding:26px;
      box-shadow:none;
    }
    .source-box h3{margin:0 0 12px}
    .source-list{
      margin:0;padding-left:20px;
    }

    .matrix{
      width:100%;
      border-collapse:collapse;
      margin:18px 0 0;
      font-size:.95rem;
      overflow:hidden;
      border-radius:14px;
    }
    .matrix th,.matrix td{
      border:1px solid var(--line);
      padding:12px 14px;
      text-align:left;
      vertical-align:top;
    }
    .matrix th{background:#f4efe7}

    .footer{
      padding:36px 0 54px;
      color:var(--muted);
      font-size:.92rem;
    }
    .footer-inner{
      display:flex;
      justify-content:space-between;
      gap:20px;
      border-top:1px solid var(--line);
      padding-top:24px;
    }

    .lang-id{display:none}
    html[data-lang="id"] .lang-fr{display:none!important}
    html[data-lang="id"] .lang-id{display:initial}
    html[data-lang="id"] .lang-id.block{display:block}
    html[data-lang="fr"] .lang-fr.block{display:block}

    .cta{
      margin-top:24px;
      padding:22px;
      background:linear-gradient(135deg,#221d1b,#3a312e);
      color:#fff;
      border-radius:18px;
    }
    .cta p{color:rgba(255,255,255,.84)}
    .cta strong{color:#fff}

    @media(max-width:900px){
      .hero-grid,.grid-2{grid-template-columns:1fr}
      .toc-grid{grid-template-columns:1fr 1fr}
      .hero-card{padding:32px}
      .timeline-item{grid-template-columns:1fr}
      .timeline-body{border-left:0;padding-left:0}
    }
    @media(max-width:620px){
      .wrap{width:min(var(--max),calc(100% - 20px))}
      .hero{padding-top:30px}
      .hero-card,.hero-side,.section,.toc{padding:22px}
      .section-head{grid-template-columns:48px 1fr;gap:12px}
      .step{width:44px;height:44px;border-radius:14px;font-size:1.1rem}
      .toc-grid{grid-template-columns:1fr}
      .print-btn{display:none}
      .brand span:last-child{display:none}
      h1{font-size:2.65rem}
      .matrix{font-size:.86rem}
      .matrix th,.matrix td{padding:9px}
    }

    @media print{
      body{background:#fff;font-size:11pt}
      .topbar,.toc,.print-btn{display:none!important}
      .wrap{width:100%}
      .hero{padding:0}
      .hero-grid{display:block}
      .hero-card,.hero-side,.section,.source-box{
        box-shadow:none;
        border:1px solid #ccc;
        break-inside:avoid;
      }
      .hero-side{margin-top:12px;background:#fff;color:#111}
      .hero-side p{color:#333}
      .route-item{border-color:#ddd}
      .section{page-break-inside:auto}
      a{color:#111;text-decoration:none}
      .lang-id{display:none!important}
      html[data-lang="id"] .lang-fr{display:none!important}
      html[data-lang="id"] .lang-id{display:block!important}
    }
  
    /* ===== V3 — composants interactifs ===== */
    .v3-label{
      display:inline-flex;align-items:center;gap:7px;
      padding:6px 10px;border-radius:999px;
      font-size:.78rem;font-weight:850;border:1px solid var(--line);background:#fff;
    }
    .trust-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
    .trust-lived{background:#eef7f2;border-color:#c9e3d4;color:#155c45}
    .trust-file{background:#f7f0e5;border-color:#e4d2b6;color:#73511d}
    .trust-official{background:#edf4fa;border-color:#c9dcea;color:#1e587f}
    .trust-local{background:#fff2e8;border-color:#ebcfb5;color:#8d4a18}

    .product-bar{
      margin:0 auto 26px;
      background:#1f1c1b;color:#fff;border-radius:18px;
      padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;
      box-shadow:0 14px 38px rgba(27,24,22,.16)
    }
    .product-bar strong{font-size:.96rem}
    .product-bar small{color:rgba(255,255,255,.7)}
    .version-chip{
      white-space:nowrap;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.14);font-weight:800
    }

    .configurator{
      margin:28px auto;
      background:linear-gradient(145deg,#fffdf8,#f7f2ea);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:30px;
    }
    .config-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:20px}
    .config-head h2{margin:0;font-size:1.55rem;letter-spacing:-.03em}
    .config-head p{margin:6px 0 0;color:var(--muted)}
    .config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .field label{display:block;font-weight:800;font-size:.86rem;margin:0 0 7px}
    html[data-lang="fr"] .field label.lang-id{display:none}
    html[data-lang="id"] .field label.lang-id{display:block}
    .field select,.field input[type="text"],.field input[type="number"],.field input[type="date"],.field textarea{
      width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);
      border-radius:12px;padding:12px 13px;outline:none;font:inherit;
    }
    .field select:focus,.field input:focus{border-color:#b6a897;box-shadow:0 0 0 3px rgba(189,139,61,.10)}
    .coverage{
      margin-top:18px;padding:18px;border-radius:16px;border:1px solid var(--line);background:#fff
    }
    .coverage strong{display:block;margin-bottom:5px}
    .coverage.good{background:#eef7f2;border-color:#c9e3d4}
    .coverage.partial{background:#fff6df;border-color:#ead39e}
    .coverage.out{background:#fff0ef;border-color:#e9c4c2}

    .dashboard{
      display:grid;grid-template-columns:.75fr 1.25fr;gap:18px;margin:24px 0
    }
    .progress-card,.quick-card{
      border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px
    }
    .big-progress{font-size:3rem;font-weight:950;letter-spacing:-.06em;line-height:1}
    .progress-track{height:12px;background:#eee8de;border-radius:999px;overflow:hidden;margin:14px 0 9px}
    .progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--gold));transition:.35s ease}
    .quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .quick-links a{padding:9px 11px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff;font-weight:750}

    .checklist-app{margin-top:22px}
    .check-toolbar{
      display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px
    }
    .check-filters{display:flex;flex-wrap:wrap;gap:8px}
    .filter-btn{
      border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:999px;cursor:pointer;font-weight:750;color:var(--muted)
    }
    .filter-btn.active{background:#2a2523;color:#fff;border-color:#2a2523}
    .reset-btn{border:0;background:transparent;color:var(--red);cursor:pointer;font-weight:800}
    .task-list{display:grid;gap:9px}
    .task{
      display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;
      padding:14px;border:1px solid var(--line);background:#fff;border-radius:14px
    }
    .task.hidden{display:none}
    .task input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}
    .task.done .task-title{text-decoration:line-through;color:#90979c}
    .task-title{font-weight:780}
    .task-meta{font-size:.82rem;color:var(--muted);margin-top:3px}
    .owner{
      padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap;border:1px solid var(--line)
    }
    .owner-fr{background:#edf4fa;color:#245d86}
    .owner-id{background:#fff1ef;color:#9c352f}
    .owner-both{background:#f5efe3;color:#75551e}

    .roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .role-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:19px}
    .role-card h3{margin:0 0 8px}

    .doc-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
    .doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .doc-card{
      border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;position:relative
    }
    .doc-card h3{margin:0 0 6px}
    .doc-sub{color:var(--muted);font-size:.9rem;margin-bottom:14px}
    .doc-data{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:.9rem}
    .doc-data dt{font-weight:850;color:#4f565b}
    .doc-data dd{margin:0}
    .doc-note{margin-top:13px;padding:11px 12px;border-radius:11px;background:#f8f5ef;font-size:.86rem}
    .doc-card.hidden{display:none}

    .dual-mode{
      display:flex;gap:6px;background:#eee9e1;border-radius:999px;padding:4px;width:max-content;max-width:100%;
      margin:0 0 18px
    }
    .dual-mode button{
      border:0;background:transparent;padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:820;color:var(--muted)
    }
    .dual-mode button.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(30,27,24,.08)}
    body.mode-official .experience-only{display:none!important}
    body.mode-experience .official-only{display:none!important}

    .lesson-grid{display:grid;gap:12px}
    .lesson{
      display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff
    }
    .lesson > div{padding:18px}
    .lesson .before{background:#faf5ee;border-right:1px solid var(--line)}
    .lesson .after{background:#f2f8f5}
    .lesson b{display:block;margin-bottom:5px}

    .budget-tool{
      margin-top:18px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden
    }
    .budget-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center}
    .budget-rows{padding:6px 20px}
    .budget-row{
      display:grid;grid-template-columns:1fr 150px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid #eee9e1
    }
    .budget-row:last-child{border-bottom:0}
    .budget-row input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 10px}
    .budget-total{padding:18px 20px;background:#f7f3ec;display:flex;justify-content:space-between;align-items:center}
    .budget-total strong:last-child{font-size:1.5rem}

    .glossary-toolbar{margin:0 0 14px}
    .glossary-toolbar input{
      width:min(480px,100%);border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff
    }
    .glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .term{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px}
    .term strong{display:block;color:var(--red-2);font-size:1rem}
    .term.hidden{display:none}

    .version-table{width:100%;border-collapse:collapse;margin-top:12px}
    .version-table td,.version-table th{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
    .version-table th{background:#f4efe7}
    .source-status{
      display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0
    }
    .source-status > div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}
    .source-status b{display:block;margin-bottom:3px}

    @media(max-width:900px){
      .config-grid,.roles-grid{grid-template-columns:1fr}
      .dashboard{grid-template-columns:1fr}
      .doc-grid,.glossary-grid{grid-template-columns:1fr}
      .source-status{grid-template-columns:1fr 1fr}
    }
    @media(max-width:620px){
      .config-head,.budget-head{display:block}
      .task{grid-template-columns:26px 1fr}
      .task .owner{grid-column:2;justify-self:start}
      .lesson{grid-template-columns:1fr}
      .lesson .before{border-right:0;border-bottom:1px solid var(--line)}
      .doc-data{grid-template-columns:1fr}
      .budget-row{grid-template-columns:1fr 120px}
      .source-status{grid-template-columns:1fr}
    }

  
    /* ===== V4 — assistant interactif ===== */
    .site-search{
      margin:0 auto 24px;
      background:#fff;border:1px solid var(--line);border-radius:18px;
      padding:16px;box-shadow:0 10px 30px rgba(40,35,28,.07)
    }
    .site-search-row{display:flex;gap:10px;align-items:center}
    .site-search input{
      flex:1;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
      font-size:1rem;background:#fff
    }
    .search-results{display:none;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
    .search-results.open{display:grid;gap:6px}
    .search-hit{
      text-decoration:none;color:var(--ink);display:block;padding:10px 12px;border-radius:10px;
      background:#faf8f3;border:1px solid #eee8de
    }
    .search-hit strong,.search-hit small{display:block}
    .search-hit small{margin-top:3px;color:var(--muted);font-size:.82rem;line-height:1.4}
    .search-hit:hover{background:#fff;border-color:#d8cdbd}

    .planner-entry-card{
      border-color:rgba(142,20,73,.32);
      background:linear-gradient(145deg,#fff7fa,#fff);
      box-shadow:0 10px 24px rgba(142,20,73,.08);
    }
    .planner-entry-card small{color:var(--red-2)}
    .planner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
    .planner-panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}
    .planner-panel h3{margin-top:0}
    .planner-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .planner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .planner-actions .action-btn{min-height:44px}
    .action-btn{
      border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 13px;border-radius:11px;
      cursor:pointer;font-weight:800
    }
    .action-btn.primary{background:var(--red);border-color:var(--red);color:#fff}
    .action-btn:disabled{cursor:not-allowed;opacity:.52}
    .planner-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
    .planner-stat{padding:14px;border-radius:14px;background:#f7f3ed;border:1px solid var(--line)}
    .planner-stat strong{display:block;font-size:1.55rem;line-height:1;color:var(--red-2)}
    .planner-stat span{display:block;margin-top:5px;color:var(--muted);font-size:.8rem;font-weight:750}
    .planner-help{margin:16px 0 0;color:var(--muted);font-size:.9rem}
    .plan-workspace{margin-top:18px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}
    .plan-workspace-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}
    .plan-workspace-head h3{margin:0 0 5px}
    .plan-workspace-head p{margin:0;color:var(--muted)}
    .plan-list{display:grid;gap:12px}
    .plan-item{
      padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff
    }
    .plan-item.is-done{background:#f2f7f4;border-color:#cce1d5}
    .plan-item.has-date-error,.plan-item.has-dependency-error{border-color:#c94a4a;background:#fff8f7}
    .plan-item-head{display:flex;align-items:start;justify-content:space-between;gap:14px}
    .plan-item-title{display:flex;align-items:start;gap:10px;font-weight:850;line-height:1.35}
    .plan-item-title input{width:20px;height:20px;margin-top:0;flex:0 0 auto;accent-color:var(--green)}
    .plan-item.is-done .plan-title-text{text-decoration:line-through;color:#748078}
    .plan-kind{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f4eee5;color:#725724;font-size:.72rem;font-weight:850}
    .plan-kind.custom{background:#edf4fa;color:#245d86}
    .plan-item-fields{display:grid;grid-template-columns:160px 160px minmax(220px,1fr);gap:12px;margin-top:13px}
    .plan-item .field label{font-size:.76rem}
    .plan-item textarea{min-height:72px;resize:vertical}
    .plan-item-error{display:none;margin-top:8px;color:#922c2c;font-size:.82rem;font-weight:750}
    .plan-item.has-date-error .plan-item-error,.plan-item.has-dependency-error .plan-item-error{display:block}
    .plan-item-error > [data-date-error],.plan-item-error > [data-dependency-error]{display:none}
    .plan-item.has-date-error .plan-item-error > [data-date-error],.plan-item.has-dependency-error .plan-item-error > [data-dependency-error]{display:block}
    .plan-guidance{margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:#fbf6ec;color:#625744;font-size:.84rem}
    .plan-dependency{display:block;margin-top:5px;color:#6d5c4b;font-weight:750}
    .plan-delete{min-height:44px;margin-top:10px;border:0;background:transparent;color:var(--red-2);font-weight:800;cursor:pointer;padding:8px 0}
    .custom-task-panel{margin-top:18px;padding:18px;border:1px dashed #cdbfad;border-radius:16px;background:#fcfaf6}
    .custom-task-panel h3{margin:0 0 5px}
    .custom-task-panel > p{margin:0 0 14px;color:var(--muted)}
    .custom-task-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:12px}
    .custom-task-grid .notes-field{grid-column:1 / -1}
    .planner-empty{padding:24px;border:1px dashed #cfc6b8;border-radius:14px;background:#faf8f4;text-align:center;color:var(--muted)}
    .planner-local-note{margin-top:14px;font-size:.84rem;color:var(--muted)}
    .validity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
    .validity-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}
    .status-box{margin-top:12px;padding:11px 12px;border-radius:11px;font-weight:750}
    .status-ok{background:#edf7f1;color:#1d684f}
    .status-warn{background:#fff6df;color:#7e5a16}
    .status-bad{background:#fff0ef;color:#922c2c}
    .status-neutral{background:#f3f1ed;color:#63686b}

    .doc-specimens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .specimen{
      min-height:280px;border:1px solid #d9d2c7;background:#fff;border-radius:14px;padding:18px;
      position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(40,35,28,.05)
    }
    .specimen:after{
      content:"SPÉCIMEN";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-24deg);
      font-size:2.2rem;font-weight:950;color:rgba(167,38,47,.08);letter-spacing:.12em;pointer-events:none
    }
    html[data-lang="id"] .specimen:after{content:"CONTOH"}
    .specimen .fake-logo{width:48px;height:48px;border-radius:50%;border:2px solid #aaa;margin-bottom:12px}
    .specimen h3{margin:0 0 12px;text-transform:uppercase;font-size:.92rem}
    .fake-line{height:9px;border-radius:999px;background:#e8e3db;margin:9px 0}
    .fake-line.short{width:55%}.fake-line.mid{width:76%}
    .specimen-note{font-size:.79rem;color:var(--muted);margin-top:14px}

    .places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .place-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}
    .place-card h3{margin:0 0 8px}
    .place-meta{font-size:.85rem;color:var(--muted);margin-top:9px}
    .place-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

    .delay-table{width:100%;border-collapse:collapse}
    .delay-table th,.delay-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
    .delay-table th{background:#f4efe7}
    .unknown{color:var(--muted);font-style:italic}

    .travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .recommend-card{
      border:1px solid #e0d4c5;background:linear-gradient(145deg,#fff,#faf6ef);
      border-radius:18px;padding:22px
    }
    .recommend-card.featured{border-color:#d7c0c2;background:linear-gradient(145deg,#fff7f7,#fff)}
    .price-big{font-size:2rem;font-weight:950;letter-spacing:-.04em}
    .fact-list{display:grid;gap:8px;margin-top:14px}
    .fact{display:flex;gap:9px;align-items:flex-start}
    .fact:before{content:"✓";color:var(--green);font-weight:950}

    .kit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .kit-item{
      display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px
    }
    .kit-item input{margin-top:3px;accent-color:var(--green)}
    .kit-item.done span{text-decoration:line-through;color:#8e9498}

    details.faq{border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 16px}
    details.faq + details.faq{margin-top:9px}
    details.faq summary{cursor:pointer;font-weight:850;padding:15px 0}
    details.faq p{margin:0 0 16px;color:#4e565b}

    .premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .premium-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:20px}
    .premium-card.locked{background:#f9f4eb}
    .premium-card h3{margin-top:0}
    .commercial-note{
      margin-top:18px;padding:18px;border-radius:16px;background:#24201e;color:#fff
    }
    .commercial-note p{color:rgba(255,255,255,.78)}
    .legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .legal-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}

    .update-badge{
      display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border-radius:999px;
      background:#edf7f1;color:#1d684f;font-size:.78rem;font-weight:850;border:1px solid #cce4d4
    }

    @media(max-width:900px){
      .planner-grid,.travel-grid,.places-grid,.premium-grid,.legal-grid{grid-template-columns:1fr}
      .plan-item-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
      .plan-item-fields .notes-field{grid-column:1 / -1}
      .doc-specimens{grid-template-columns:1fr 1fr}
    }
    @media(max-width:620px){
      .site-search-row{display:block}.site-search-row input{width:100%;margin-bottom:8px}
      .planner-grid,.validity-grid,.kit-grid{grid-template-columns:1fr}
      .planner-date-grid,.planner-overview,.custom-task-grid,.plan-item-fields{grid-template-columns:1fr}
      .custom-task-grid .notes-field,.plan-item-fields .notes-field{grid-column:auto}
      .plan-workspace{padding:16px}
      .plan-workspace-head,.plan-item-head{display:block}
      .plan-kind{display:inline-block;margin-top:9px}
      .doc-specimens{grid-template-columns:1fr}
    }

  
    /* ===== V5 — incertitudes, preuves et suivi réel ===== */
    .uncertain{
      border:2px solid #c93a3a !important;
      background:#fff3f3 !important;
      color:#6f1f1f !important;
      border-radius:14px;
      padding:16px 18px;
      position:relative;
    }
    .uncertain::before{
      content:"À VÉRIFIER";
      display:block;
      width:max-content;
      max-width:100%;
      margin:-4px 0 9px;
      padding:4px 8px;
      border-radius:999px;
      background:#c93a3a;
      color:#fff;
      font-size:.72rem;
      font-weight:900;
      letter-spacing:.02em;
    }
    html[data-lang="id"] .uncertain::before{content:"PERLU DIVERIFIKASI"}
    .uncertain strong{color:#7e2020}
    .uncertain a{color:#8e2020}
    .uncertain-inline{
      display:inline-block;
      border:1px solid #d75a5a;
      background:#fff0f0;
      color:#8a2020;
      border-radius:8px;
      padding:2px 6px;
      font-weight:800;
    }
    .certainty-legend{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
      margin:18px 0 0;
    }
    .certainty-legend > div{
      border-radius:13px;
      padding:12px 13px;
      border:1px solid var(--line);
      background:#fff;
      font-size:.86rem;
    }
    .certainty-legend .red{
      border:2px solid #c93a3a;
      background:#fff3f3;
      color:#6f1f1f;
    }

    .journey-status{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:16px;
    }
    .journey-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:17px;
    }
    .journey-card h3{margin:0 0 7px}
    .journey-card.done{background:#eef7f2;border-color:#c7e1d1}
    .journey-card.pending{background:#fff3f3;border:2px solid #c93a3a}
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:5px 8px;
      border-radius:999px;
      font-size:.73rem;
      font-weight:900;
      margin-bottom:9px;
    }
    .status-done{background:#dcefe4;color:#185e47}
    .status-pending{background:#c93a3a;color:#fff}

    .evidence-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:16px;
    }
    .evidence-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:18px;
    }
    .evidence-card h3{margin:0 0 8px}
    .evidence-list{
      display:grid;
      gap:7px;
      margin-top:12px;
    }
    .evidence-item{
      padding:9px 10px;
      border-radius:10px;
      background:#f7f4ee;
      border:1px solid #ebe4d9;
      font-size:.87rem;
    }
    .evidence-item.missing{
      background:#fff3f3;
      border:2px solid #c93a3a;
      color:#6f1f1f;
    }

    .capture-form{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:20px;
      margin-top:16px;
    }
    .capture-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    .capture-grid textarea{
      min-height:95px;
      resize:vertical;
    }
    .capture-grid input,.capture-grid textarea,.capture-grid select{
      width:100%;
      border:1px solid var(--line);
      border-radius:11px;
      padding:10px 11px;
      background:#fff;
    }

    .budget-proof{
      margin-top:18px;
      border:1px solid var(--line);
      border-radius:16px;
      overflow:hidden;
      background:#fff;
    }
    .budget-proof table{width:100%;border-collapse:collapse}
    .budget-proof th,.budget-proof td{
      padding:11px 12px;
      border-bottom:1px solid #eee8de;
      text-align:left;
      vertical-align:top;
    }
    .budget-proof th{background:#f4efe7}
    .budget-proof tr:last-child td{border-bottom:0}
    .missing-data{
      color:#8a2020;
      font-weight:850;
      background:#fff3f3;
      border:1px solid #d75a5a;
      border-radius:7px;
      padding:3px 6px;
      display:inline-block;
    }

    .beta-test{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
    }
    .tester{
      border:1px solid var(--line);
      border-radius:16px;
      background:#fff;
      padding:16px;
    }
    .tester h3{margin:0 0 8px}
    .tester ul{margin:8px 0 0;padding-left:18px}

    @media(max-width:900px){
      .certainty-legend,.journey-status,.beta-test{grid-template-columns:1fr 1fr}
      .evidence-grid,.capture-grid{grid-template-columns:1fr}
    }
    @media(max-width:620px){
      .certainty-legend,.journey-status,.beta-test{grid-template-columns:1fr}
    }

  
    /* ===== V6 — navigation & lecture simplifiée ===== */
    body{
      --side-w: 292px;
    }

    .guide-shell{
      width:min(1480px,calc(100% - 24px));
      margin:0 auto;
      display:grid;
      grid-template-columns:var(--side-w) minmax(0,1fr);
      gap:20px;
      align-items:start;
    }

    .guide-sidebar{
      position:sticky;
      top:84px;
      max-height:calc(100vh - 104px);
      overflow:auto;
      background:#fffdf8;
      border:1px solid var(--line);
      border-radius:18px;
      box-shadow:0 14px 40px rgba(40,35,28,.08);
      padding:14px;
      scrollbar-width:thin;
    }

    .sidebar-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:6px 4px 12px;
      border-bottom:1px solid var(--line);
      margin-bottom:10px;
    }
    .sidebar-head strong{font-size:.9rem}
    .sidebar-close{display:none}

    .chapter-nav{
      display:grid;
      gap:7px;
    }
    .chapter-group{
      border:1px solid #eee7dc;
      border-radius:13px;
      overflow:hidden;
      background:#fff;
    }
    .chapter-group button{
      width:100%;
      border:0;
      background:#fff;
      padding:11px 12px;
      text-align:left;
      font-weight:860;
      color:var(--ink);
      cursor:pointer;
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:center;
    }
    .chapter-group button:hover{background:#faf6ef}
    .chapter-group.open button{background:#f6efe6}
    .chapter-links{
      display:none;
      padding:0 8px 8px;
      gap:4px;
    }
    .chapter-group.open .chapter-links{display:grid}
    .chapter-links a{
      text-decoration:none;
      color:#4b5358;
      padding:8px 9px;
      border-radius:9px;
      font-size:.86rem;
      line-height:1.28;
    }
    .chapter-links a:hover{background:#f7f3ec;color:var(--ink)}
    .chapter-links a.active{
      background:#efe5dc;
      color:var(--red-2);
      font-weight:850;
    }

    .guide-content{
      min-width:0;
    }

    .sidebar-mode-note{
      margin-top:3px;
      color:var(--muted);
      font-size:.76rem;
      font-weight:650;
    }
    body.single-step-mode .guide-content > .section:not(.active-guide-section),
    body.single-step-mode .guide-content > .step-nav{
      display:none!important;
    }
    body.single-step-mode .guide-content > .section.active-guide-section{
      display:block;
      margin-top:0;
    }
    body.single-step-mode .guide-content > .section.active-guide-section + .step-nav{
      display:flex!important;
    }
    body.single-step-mode .guide-content > .section.active-guide-section > .section-collapse{
      display:none!important;
    }

    .mobile-guidebar{
      display:none;
      position:sticky;
      top:68px;
      z-index:42;
      background:rgba(255,253,248,.95);
      backdrop-filter:blur(14px);
      border:1px solid var(--line);
      border-radius:14px;
      padding:8px;
      margin:0 auto 12px;
      gap:8px;
      align-items:center;
    }
    .mobile-guidebar button{
      border:1px solid var(--line);
      background:#fff;
      border-radius:10px;
      padding:10px 12px;
      font-weight:850;
      cursor:pointer;
    }
    .mobile-guidebar .current-mobile{
      flex:1;
      min-width:0;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      font-size:.9rem;
      font-weight:800;
    }

    .section{
      position:relative;
    }

    .section-collapse{
      position:absolute;
      right:20px;
      top:20px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      border-radius:10px;
      padding:8px 10px;
      cursor:pointer;
      font-weight:850;
      z-index:2;
    }
    .section-collapse:hover{color:var(--ink);border-color:#c9bdad}
    .section.collapsed > :not(.section-head):not(.section-collapse){
      display:none!important;
    }
    .section.collapsed{
      padding-bottom:18px;
    }
    .section.collapsed .section-head{
      margin-bottom:0;
    }

    .chapter-kicker{
      display:flex;
      align-items:center;
      gap:8px;
      color:var(--red-2);
      font-size:.78rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.04em;
      margin-bottom:7px;
    }

    .section-summary{
      margin-top:14px;
      padding:12px 14px;
      background:#f7f3ec;
      border:1px solid #e8dfd2;
      border-radius:12px;
      color:#545c61;
      font-size:.92rem;
    }

    .step-nav{
      display:flex;
      justify-content:space-between;
      gap:12px;
      margin:14px 0 24px;
    }
    .step-nav a{
      flex:1;
      text-decoration:none;
      border:1px solid var(--line);
      border-radius:13px;
      padding:12px 14px;
      background:#fff;
      color:var(--ink);
      font-weight:820;
    }
    .step-nav a:last-child{text-align:right}
    .step-nav a:hover{
      border-color:#cdbfad;
      box-shadow:0 8px 20px rgba(40,35,28,.06)
    }

    .reading-toolbar{
      position:sticky;
      top:76px;
      z-index:35;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      margin:0 0 14px;
      padding:9px 11px;
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(255,253,248,.95);
      backdrop-filter:blur(12px);
    }
    .reading-toolbar-left,.reading-toolbar-right{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .reading-toolbar button{
      border:1px solid var(--line);
      background:#fff;
      border-radius:10px;
      padding:8px 10px;
      cursor:pointer;
      font-weight:800;
      color:#4d555a;
    }
    .reading-toolbar button:hover{color:var(--ink);border-color:#c8bcab}

    .floating-tools{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:60;
      display:grid;
      gap:8px;
    }
    .floating-tools button,.floating-tools a{
      width:46px;height:46px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      place-items:center;
      text-decoration:none;
      color:var(--ink);
      box-shadow:0 10px 28px rgba(40,35,28,.12);
      cursor:pointer;
      font-size:1rem;
    }
    .floating-tools button:hover,.floating-tools a:hover{
      transform:translateY(-1px);
    }

    .focus-mode .guide-sidebar,
    .focus-mode .product-bar,
    .focus-mode .site-search,
    .focus-mode #legende-fiabilite,
    .focus-mode .toc{
      display:none!important;
    }
    .focus-mode .guide-shell{
      grid-template-columns:minmax(0,1fr);
      width:min(920px,calc(100% - 24px));
    }
    .focus-mode .section{
      box-shadow:none;
    }

    .mini-progress{
      margin:10px 0 2px;
      height:7px;
      border-radius:999px;
      background:#eee7dd;
      overflow:hidden;
    }
    .mini-progress > div{
      height:100%;
      width:0;
      background:linear-gradient(90deg,var(--red),var(--gold));
      transition:.25s ease;
    }
    .mini-progress-label{
      font-size:.78rem;
      color:var(--muted);
      margin-top:4px;
    }

    .chapter-home{
      background:linear-gradient(145deg,#fff,#faf6ef);
      border:1px solid var(--line);
      border-radius:18px;
      padding:22px;
      margin-bottom:18px;
    }
    .chapter-home h2{margin:0 0 8px}
    .chapter-cards{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
      margin-top:14px;
    }
    .chapter-card{
      text-decoration:none;
      color:var(--ink);
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      padding:15px;
      min-height:118px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .chapter-card:hover{border-color:#cdbfad;box-shadow:0 8px 20px rgba(40,35,28,.06)}
    .chapter-card b{font-size:.95rem}
    .chapter-card small{color:var(--muted)}

    @media(max-width:1100px){
      .guide-shell{
        grid-template-columns:1fr;
        width:min(var(--max),calc(100% - 20px));
      }
      .guide-sidebar{
        display:none;
        position:fixed;
        left:10px;
        right:10px;
        top:78px;
        bottom:10px;
        max-height:none;
        z-index:80;
        border-radius:16px;
      }
      .guide-sidebar.open{display:block}
      .sidebar-close{display:inline-flex}
      .mobile-guidebar{display:flex}
      .reading-toolbar{top:120px}
      .chapter-cards{grid-template-columns:1fr 1fr}
    }

    @media(max-width:620px){
      .chapter-cards{grid-template-columns:1fr}
      .reading-toolbar{
        top:118px;
        display:block;
      }
      .reading-toolbar-right{margin-top:8px}
      .section-collapse{
        right:12px;
        top:12px;
        padding:7px 8px;
      }
      .floating-tools{right:12px;bottom:12px}
      .floating-tools button,.floating-tools a{width:42px;height:42px}
      .step-nav{display:grid;grid-template-columns:1fr}
      body.single-step-mode .guide-content > .section.active-guide-section + .step-nav{display:grid!important}
      .step-nav a:last-child{text-align:left}
    }

    @media print{
      .guide-sidebar,.mobile-guidebar,.reading-toolbar,.floating-tools,.section-collapse,.step-nav,.chapter-home{
        display:none!important;
      }
      .guide-shell{display:block;width:100%}
      .section.collapsed > :not(.section-head):not(.section-collapse){display:block!important}
      body.single-step-mode .guide-content > .section:not(.internal-only){display:block!important}
      body.single-step-mode .guide-content > .step-nav{display:none!important}
    }

    /* ===== V6.2 — sauvegarde & synchronisation ===== */
    .save-panel{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      padding:20px;
      margin-top:16px;
    }
    .save-actions{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }
    .save-status{
      margin-top:12px;
      padding:10px 12px;
      border-radius:11px;
      background:#f4f1eb;
      color:var(--muted);
      font-size:.88rem;
    }
    .cloud-roadmap{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:14px;
    }
    .cloud-step{
      border:1px solid var(--line);
      background:#fff;
      border-radius:15px;
      padding:16px;
    }
    .cloud-step h3{margin:0 0 7px}
    .cloud-step.future{
      border:2px solid #c93a3a;
      background:#fff3f3;
      color:#6f1f1f;
    }
    @media(max-width:900px){.cloud-roadmap{grid-template-columns:1fr}}

  
    /* ===== V6.3 — optimisation mobile & tablette vérifiée ===== */
    html,body{max-width:100%;overflow-x:clip}
    img,svg,video,canvas{max-width:100%;height:auto}

    /* Tables remain usable without making the whole page wider than the screen. */
    .table-scroll,
    .budget-proof,
    .matrix-wrap{
      width:100%;
      max-width:100%;
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
    }

    @media(max-width:620px){
      main table,
      .matrix,
      .delay-table,
      .version-table{
        display:block;
        width:100%;
        max-width:100%;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        white-space:normal;
      }
      main table thead,
      main table tbody,
      main table tr{
        width:max-content;
        min-width:100%;
      }

      .dual-mode{
        width:100%;
        max-width:100%;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:4px;
      }
      .dual-mode button{
        min-width:0;
        padding:9px 6px;
        white-space:normal;
        line-height:1.2;
      }

      /* Keep only one compact navigation bar on phones. */
      .reading-toolbar{
        position:static;
        display:block;
        padding:7px;
        overflow:hidden;
      }
      .reading-toolbar-left{
        display:flex;
        flex-wrap:nowrap;
        gap:6px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:2px;
      }
      .reading-toolbar-left > *{
        flex:0 0 auto;
        white-space:nowrap;
      }
      .reading-toolbar-right{display:none!important}

      .floating-tools a{display:none!important}
      .floating-tools{
        right:max(10px,env(safe-area-inset-right));
        bottom:max(10px,env(safe-area-inset-bottom));
      }

      .topbar-inner{min-height:64px}
      .mobile-guidebar{
        top:64px;
        margin-left:6px;
        margin-right:6px;
        width:calc(100% - 12px);
      }
      .mobile-guidebar button{min-height:44px}
      button,a.action-btn,.filter-btn,.lang-switch button{min-height:44px}

      .section,.toc,.configurator{
        max-width:100%;
        overflow-wrap:anywhere;
      }
      .section h2{padding-right:34px}
      .place-actions,.save-actions,.planner-actions,.check-filters{align-items:stretch}
      .place-actions .action-btn,.save-actions .action-btn,.planner-actions .action-btn{
        flex:1 1 100%;
        text-align:center;
      }
      input,select,textarea{font-size:16px!important}
    }

    /* Portrait tablets use the compact menu, but no tall sticky toolbar. */
    @media(min-width:621px) and (max-width:980px){
      .reading-toolbar{
        position:static;
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
      }
      .reading-toolbar-left{flex-wrap:nowrap;white-space:nowrap}
      .reading-toolbar-right{display:none}
      .floating-tools a{display:none!important}
    }

    /* Landscape tablets have enough room for the desktop sidebar. */
    @media(min-width:981px) and (max-width:1100px){
      .guide-shell{
        width:min(1100px,calc(100% - 20px));
        grid-template-columns:260px minmax(0,1fr);
      }
      .guide-sidebar{
        display:block;
        position:sticky;
        left:auto;right:auto;bottom:auto;
        top:84px;
        max-height:calc(100vh - 104px);
        z-index:auto;
      }
      .mobile-guidebar{display:none}
      .reading-toolbar{top:76px}
    }

  
    @media(min-width:981px) and (max-width:1100px){
      .reading-toolbar{
        min-height:60px;
        flex-wrap:nowrap;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
      }
      .reading-toolbar-left{flex-wrap:nowrap;white-space:nowrap}
      .reading-toolbar-right{display:none!important}
      .floating-tools a{display:none!important}
    }

    /* ===== Bonjour Luci — harmonisation et correctifs responsives ===== */
    :root{
      --bg:#fffaf6;
      --paper:#fffdfb;
      --ink:#3d2130;
      --muted:#6f5d66;
      --line:#f0c7d5;
      --red:#c2185b;
      --red-2:#8e1449;
      --gold:#c9a24b;
      --shadow:0 18px 50px rgba(142,20,73,.10);
    }

    body{
      font-family:'Jost',sans-serif;
      background:
        radial-gradient(circle at 10% 0%,rgba(248,187,208,.30),transparent 31%),
        radial-gradient(circle at 90% 10%,rgba(201,162,75,.11),transparent 32%),
        var(--bg);
    }
    h1,
    .hero-side h2,
    .section h2,
    .toc h2,
    .source-box h2,
    .chapter-home h2{
      font-family:'Cormorant Garamond',serif;
      font-weight:600;
    }
    .topbar{
      background:rgba(255,250,246,.90);
      border-bottom-color:rgba(240,199,213,.82);
    }
    .brand{font-weight:500;letter-spacing:.02em}
    .brand-mark{
      background:#fff7fa;
      box-shadow:0 8px 24px rgba(142,20,73,.20);
    }
    .hero-card,.hero-side,.section,.toc,.source-box{
      background:rgba(255,253,251,.95);
      border-color:rgba(240,199,213,.86);
    }
    .hero-side{
      background:linear-gradient(145deg,#4a2235,#8e1449);
    }
    .step{
      background:#fce4ec;
      border-color:#f8bbd0;
    }
    .chapter-home{
      background:linear-gradient(145deg,#fff,#fff5f8);
    }
    .product-bar{
      background:linear-gradient(135deg,#3d2130,#6d183f);
    }

    /* A chapter label spans the full row; its number and title stay side by side. */
    .section-head > .chapter-kicker{
      grid-column:1 / -1;
      margin-bottom:-2px;
    }
    .section-head > div:last-child{min-width:0}

    /* Preserve the native display semantics when switching to Indonesian. */
    html[data-lang="fr"] .lang-id{display:none!important}
    html[data-lang="id"] .lang-fr{display:none!important}
    html[data-lang="id"] :is(h1,h2,h3,p,div,dt,dd,label).lang-id{display:block}
    html[data-lang="id"] li.lang-id{display:list-item}
    html[data-lang="id"] :is(span,strong,b,small).lang-id{display:inline}
    html[data-lang="id"] :is(td,th).lang-id{display:table-cell}
    .task-title,.task-meta{display:block}
    html[data-lang="id"] .task-title.lang-id{display:block}
    .task > span{min-width:0}

    @media(max-width:620px){
      .section-head{grid-template-columns:48px minmax(0,1fr)}
      .section-head > .chapter-kicker{padding-right:42px}
      .section h2{padding-right:0}

      .reading-toolbar{overflow:visible;padding:8px}
      .reading-toolbar-left{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:7px;
        overflow:visible;
        padding-bottom:0;
      }
      .reading-toolbar-left > *{
        min-width:0;
        width:100%;
        white-space:normal;
      }
      #focus-mode{grid-column:1 / -1}
      .reading-toolbar button,
      .section-collapse,
      .site-search button,
      input[type="date"],
      input[type="number"]{
        min-height:44px;
      }
      .section-collapse{
        min-width:44px;
        padding:7px;
      }
      .site-search button{min-width:44px}
      .lang-switch button,
      #mobile-search-jump{min-width:44px}
      .floating-tools button,.floating-tools a{width:44px;height:44px}
      .task input[type="checkbox"],
      .kit-item input[type="checkbox"]{
        width:22px;
        height:22px;
      }
    }

    /* ===== Accessibilité, confidentialité et édition lecteur ===== */
    .skip-link{
      position:fixed;
      left:16px;
      top:12px;
      z-index:500;
      padding:11px 16px;
      border-radius:12px;
      background:#fff;
      color:var(--red-2);
      border:2px solid var(--red);
      box-shadow:var(--shadow);
      transform:translateY(-180%);
      transition:transform .18s ease;
      font-weight:700;
    }
    .skip-link:focus{transform:none}
    .sr-only{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      padding:0!important;
      margin:-1px!important;
      overflow:hidden!important;
      clip:rect(0,0,0,0)!important;
      white-space:nowrap!important;
      border:0!important;
    }
    :focus-visible{
      outline:3px solid var(--gold);
      outline-offset:3px;
    }
    .field :is(input,select,textarea):focus-visible{
      outline:3px solid var(--gold);
      outline-offset:2px;
    }
    .internal-only,
    .internal-only + .step-nav,
    .chapter-links a[href="#tests-utilisateurs"],
    .chapter-links a[href="#commercial"],
    .chapter-links a[href="#juridique-site"],
    .chapter-links a[href="#versions"]{
      display:none!important;
    }
    .sidebar-backdrop{display:none}
    body.guide-menu-open{overflow:hidden}
    table caption{caption-side:top;text-align:left}

    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
      }
    }

    @media(max-width:1100px){
      .sidebar-backdrop.open{
        display:block;
        position:fixed;
        inset:0;
        z-index:79;
        background:rgba(61,33,48,.28);
        backdrop-filter:blur(2px);
      }
    }

    @media print{
      .skip-link{display:none!important}
      .chapter-hidden{display:block!important}
      .internal-only,.internal-only.chapter-hidden,.internal-only + .step-nav{display:none!important}
      html[data-lang="id"] :is(h1,h2,h3,p,div,dt,dd,label).lang-id{display:block!important}
      html[data-lang="id"] li.lang-id{display:list-item!important}
      html[data-lang="id"] :is(span,strong,b,small).lang-id{display:inline!important}
      html[data-lang="id"] :is(td,th).lang-id{display:table-cell!important}
    }

    /* ===== V6.4 — entrée rapide, reprise et partage privé ===== */
    .brand{
      color:var(--ink);
      text-decoration:none;
      min-width:0;
    }
    .brand:hover{color:var(--red-2)}
    .brand-copy{min-width:0}
    .brand-name{white-space:nowrap}
    .header-guide-actions{display:none;align-items:center;gap:6px}
    .header-icon-btn{
      width:44px;
      height:44px;
      padding:0;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      background:#fff;
      color:var(--ink);
      cursor:pointer;
      font-weight:850;
      box-shadow:0 4px 18px rgba(142,20,73,.06);
    }
    .header-icon-btn:hover{color:var(--red-2);border-color:#e6a9bf}
    .header-progress-pill{
      position:absolute;
      top:-5px;
      right:-9px;
      min-width:32px;
      height:18px;
      padding:0 5px;
      display:grid;
      place-items:center;
      transform:none;
      border-radius:999px;
      background:var(--red);
      color:#fff;
      font-size:.62rem;
      line-height:1;
      white-space:nowrap;
      border:2px solid #fff;
    }
    .header-menu-button{position:relative}
    .top-progress{
      height:3px;
      background:rgba(240,199,213,.38);
      overflow:hidden;
    }
    .top-progress span{
      display:block;
      width:0;
      height:100%;
      background:linear-gradient(90deg,var(--red),var(--gold));
      transition:width .25s ease;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .hero-action{
      min-height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:11px 17px;
      border-radius:13px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      text-decoration:none;
      font-weight:850;
      text-align:center;
    }
    .hero-action.primary{
      border-color:var(--red);
      background:linear-gradient(135deg,var(--red),var(--red-2));
      color:#fff;
      box-shadow:0 10px 24px rgba(142,20,73,.18);
    }
    .hero-action:hover{transform:translateY(-1px)}
    .hero-action.primary:hover{color:#fff}
    .chapter-home.entry-chapter-home{
      margin:22px 0;
      box-shadow:0 14px 40px rgba(142,20,73,.08);
    }
    #chapitres,#nouveautes,#avant-de-commencer,#recherche,#profil{scroll-margin-top:82px}
    .orientation-panel{
      margin:18px 0 30px;
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,253,251,.94);
      box-shadow:0 12px 34px rgba(142,20,73,.07);
      overflow:hidden;
    }
    .orientation-panel > summary{
      min-height:62px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:15px 20px;
      cursor:pointer;
      font-weight:850;
      color:var(--ink);
      list-style:none;
    }
    .orientation-panel > summary::-webkit-details-marker{display:none}
    .orientation-panel > summary::after{
      content:'+';
      width:34px;
      height:34px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      background:#fff;
      color:var(--red-2);
      font-size:1.2rem;
    }
    .orientation-panel[open] > summary::after{content:'−'}
    .orientation-panel > summary small{
      display:block;
      color:var(--muted);
      font-weight:500;
      margin-top:2px;
    }
    html[data-lang="fr"] .orientation-panel .lang-id,
    html[data-lang="id"] .orientation-panel .lang-fr{display:none!important}
    .orientation-content{padding:0 18px 18px}
    .orientation-content > :last-child{margin-bottom:0}
    .public-changelog{
      margin:0 0 18px;
      border:1px solid rgba(240,199,213,.9);
      border-radius:14px;
      background:#fff8fa;
    }
    .public-changelog summary{
      padding:12px 15px;
      cursor:pointer;
      color:var(--red-2);
      font-weight:850;
    }
    .public-changelog-content{padding:0 18px 14px;color:var(--muted)}
    .public-changelog-content ul{margin:8px 0 0;padding-left:20px}
    .version-chip{
      color:#fff;
      text-decoration:none;
    }
    .version-chip:hover{color:#fff;background:rgba(255,255,255,.18)}
    .local-data-note{
      margin-top:16px;
      padding:13px 15px;
      border-radius:13px;
      border:1px solid #d7e9df;
      background:#f3faf6;
      color:#315c49;
      font-size:.9rem;
    }
    .focus-mode .chapter-home,
    .focus-mode .public-changelog,
    .focus-mode .orientation-panel{display:none!important}
    .sr-only{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      padding:0!important;
      margin:-1px!important;
      overflow:hidden!important;
      clip:rect(0,0,0,0)!important;
      white-space:nowrap!important;
      border:0!important;
    }
    @media(max-width:1100px){
      .header-guide-actions{display:flex}
      .brand-context{display:none!important}
      .guide-content > .section{scroll-margin-top:140px}
    }
    @media(max-width:620px){
      .topbar-inner{gap:6px}
      .brand{gap:7px;font-size:.91rem}
      .brand-mark{width:32px;height:32px;flex:0 0 32px}
      .brand .brand-copy{display:none!important}
      .brand-context{display:none!important}
      .nav-actions{gap:4px}
      .guide-home-btn{min-height:40px;padding:7px 9px;font-size:.74rem}
      .header-guide-actions{gap:4px}
      .lang-switch{padding:2px}
      .lang-switch button{padding:6px 8px;min-width:40px!important}
      .header-icon-btn{width:40px;height:40px;min-height:40px!important}
      #header-search-jump{display:none}
      .print-btn{display:none}
      body.single-step-mode .active-guide-section h2{padding-right:0}
      .hero-actions{display:grid;grid-template-columns:1fr}
      .hero-action{width:100%}
      .chapter-home.entry-chapter-home{padding:18px;margin-top:16px}
      .orientation-panel > summary{padding:14px 15px}
      .orientation-panel > summary small{font-size:.78rem}
      .orientation-content{padding:0 10px 10px}
      .source-list a{min-height:44px;display:flex;align-items:center;padding:7px 0}
    }

    /* Entrée éditoriale simplifiée : le vécu d’abord, la méthode repliée ensuite. */
    .real-timeline-wrap{padding:34px 0 24px}
    .real-timeline-card{
      border:1px solid rgba(142,20,73,.18);border-radius:24px;
      background:linear-gradient(145deg,#fff,#fff8f4);padding:clamp(22px,4vw,40px);
      box-shadow:0 18px 48px rgba(88,37,49,.08)
    }
    .real-timeline-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end}
    .real-timeline-intro h2{margin:5px 0 8px;font-size:clamp(1.8rem,4vw,3rem);color:var(--red-2)}
    .real-timeline-intro p{margin:0;color:var(--muted);max-width:760px}
    .timeline-result{min-width:190px;border-radius:18px;background:#3d2130;color:#fff;padding:17px 20px;text-align:center}
    .timeline-result strong{display:block;font-family:"Cormorant Garamond",serif;font-size:2.2rem;line-height:1}
    .timeline-result span{display:block;margin-top:5px;font-size:.82rem;color:rgba(255,255,255,.76)}
    .real-timeline-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
    .source-freshness{font-size:.86rem;color:var(--muted)}
    .real-timeline-actions .hero-action{flex:0 0 auto}
    .scope-clarity{margin:0;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}
    .scope-clarity h2{margin:0 0 8px;font-size:1.35rem;color:var(--red-2)}
    .scope-clarity p{margin:7px 0;color:var(--muted)}
    .scope-clarity strong{color:var(--ink)}
    .special-case-note{margin:18px 0;padding:18px;border:1px solid #e2bd75;border-left:5px solid var(--gold);border-radius:14px;background:#fff8e8}
    .special-case-note strong{display:block;margin-bottom:5px;color:#6c4812}
    .special-case-note > span.lang-fr,.special-case-note > span.lang-id{display:block}
    [data-lang="fr"] .special-case-note > .lang-id,[data-lang="id"] .special-case-note > .lang-fr{display:none!important}
    .anchor-marker{display:block;position:relative;top:-90px;visibility:hidden}

    .methodology-item{display:none}
    .methodology-hub{margin:28px 0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
    .methodology-hub > summary{min-height:66px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:850;color:var(--ink);list-style:none}
    .methodology-hub > summary::-webkit-details-marker{display:none}
    .methodology-hub > summary::after{content:'+';font-size:1.35rem;color:var(--red-2)}
    .methodology-hub[open] > summary::after{content:'−'}
    .methodology-hub > summary small{display:block;color:var(--muted);font-weight:500;margin-top:3px}
    .methodology-content{padding:0 18px 18px}
    .methodology-hub .methodology-item{display:block;margin:14px 0}
    .methodology-hub .orientation-panel{box-shadow:none}

    .progress-card.is-empty .big-progress,.progress-card.is-empty .progress-track{display:none}
    .progress-card.is-empty{display:flex;flex-direction:column;justify-content:center}
    .progress-card.is-empty #progress-label,.progress-card.is-empty #progress-label-id{font-size:1.25rem;font-weight:850;color:var(--red-2)}
    .header-progress-pill[hidden]{display:none!important}

    @media(max-width:760px){
      .real-timeline-intro{grid-template-columns:1fr}
      .timeline-result{min-width:0;text-align:left}
      .real-timeline-actions{align-items:stretch;flex-direction:column}
      .real-timeline-actions .hero-action{width:100%}
    }

    /* Assistant de parcours, recherche immédiate et checklist par phases. */
    .title-mobile{display:none}
    .hero-side > summary{display:block;list-style:none;font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:850;letter-spacing:-.03em;cursor:default}
    .hero-side > summary::-webkit-details-marker{display:none}
    .quick-search-shell{margin-top:24px;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
    .quick-search-shell h3{margin:0 0 5px;font-size:1.12rem}
    .quick-search-shell > p{margin:0 0 14px;color:var(--muted)}
    .quick-search-shell .site-search{margin:0}
    .quick-search-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .quick-search-chip{border:1px solid #e7bfd0;background:#fff7fa;color:var(--red-2);border-radius:999px;padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}
    .quick-search-chip:hover{background:#ffeef4}

    .next-action-card{margin:0 0 20px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#3d2130,#7d1747);color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:0 14px 38px rgba(61,33,48,.18)}
    .next-action-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:1.35rem}
    .next-action-card small{display:block;color:rgba(255,255,255,.72);font-weight:750;text-transform:uppercase;letter-spacing:.08em}
    .current-phase{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);font-size:.8rem;font-weight:750}
    .next-action-card strong{display:block;margin-top:4px;font-size:1.12rem}
    .next-action-card .current-phase strong{display:inline;margin:0;font-size:inherit;color:#fff}
    .next-action-card p{margin:4px 0 0;color:rgba(255,255,255,.82);font-size:.9rem}
    .next-action-link{border:1px solid rgba(255,255,255,.32);background:#fff;color:var(--red-2);padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:850;text-align:center}
    .next-action-card.complete{background:linear-gradient(135deg,#174f40,#28755f)}
    #progress-detail,#progress-detail-id{display:block;margin-top:7px;color:var(--muted)}

    .phase-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;list-style:none;font-weight:850;color:var(--ink)}
    .phase-summary::-webkit-details-marker{display:none}
    .phase-summary::after{content:'+';color:var(--red-2);font-size:1.2rem}
    .task-phase[open] .phase-summary::after{content:'−'}
    .phase-summary small{color:var(--muted);font-weight:650}
    .task-phase{border:1px solid var(--line);border-radius:16px;background:#fff;margin:10px 0;overflow:hidden}
    .task-phase-list{display:grid;gap:8px;padding:0 12px 12px}
    .task-phase .task{margin:0}

    .experience-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
    .report-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.86rem;text-decoration:none;border-bottom:1px dashed currentColor}
    .report-link:hover{color:var(--red-2)}
    .backup-reminder{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;width:min(560px,calc(100% - 24px));padding:16px;border-radius:16px;background:#271d22;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.25);display:flex;align-items:center;gap:14px}
    .backup-reminder[hidden]{display:none}
    .backup-reminder p{margin:0;flex:1;font-size:.9rem}
    .backup-reminder button{border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:9px 12px;background:#fff;color:var(--red-2);font:inherit;font-weight:850;cursor:pointer}
    .backup-reminder .dismiss-backup{background:transparent;color:#fff;min-width:42px}

    @media(max-width:760px){
      .title-full{display:none}
      .title-mobile{display:inline}
      .hero-card h1{font-size:clamp(2.35rem,12vw,3.25rem);line-height:.98}
      .hero-side{display:block;padding:0!important;overflow:hidden}
      .hero-side > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;cursor:pointer;list-style:none;font-weight:850}
      .hero-side > summary::-webkit-details-marker{display:none}
      .hero-side > summary::after{content:'+';font-size:1.3rem}
      .hero-side[open] > summary::after{content:'−'}
      .hero-side > p,.hero-side > .route{margin-left:20px;margin-right:20px}
      .hero-side > .route{margin-bottom:20px}
      .guide-home-btn{display:none!important}
      .next-action-card{grid-template-columns:auto minmax(0,1fr)}
      .next-action-link{grid-column:1 / -1}
      .backup-reminder{align-items:stretch;flex-wrap:wrap}
      .backup-reminder p{flex-basis:100%}
    }

    @media print{
      body.print-personal .hero,
      body.print-personal .real-timeline-wrap,
      body.print-personal .mobile-guidebar,
      body.print-personal .guide-sidebar,
      body.print-personal .sidebar-backdrop,
      body.print-personal .source-box,
      body.print-personal .methodology-hub,
      body.print-personal .footer,
      body.print-personal .backup-reminder,
      body.print-personal .guide-content > .section:not(#checklist):not(#retroplanning),
      body.print-personal .guide-content > .step-nav{display:none!important}
      body.print-personal #checklist,body.print-personal #retroplanning{display:block!important;border:0!important;padding:0!important;box-shadow:none!important}
      body.print-personal .quick-card,body.print-personal .check-toolbar,body.print-personal .section-collapse,body.print-personal .next-action-card{display:none!important}
      body.print-personal .task-phase{break-inside:avoid}
      body.print-personal .task-phase > *{display:block!important}
    }

    /* ===== Export PDF guidé ===== */
    .print-dialog[hidden]{display:none!important}
    .print-dialog{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:20px}
    .print-dialog-backdrop{position:absolute;inset:0;background:rgba(44,28,36,.62);backdrop-filter:blur(5px)}
    .print-dialog-panel{position:relative;width:min(780px,100%);max-height:min(88vh,820px);overflow:auto;background:#fffdfb;border:1px solid #efc7d6;border-radius:24px;box-shadow:0 28px 80px rgba(44,28,36,.3);padding:clamp(22px,4vw,34px)}
    .print-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
    .print-dialog-head h2{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,2.7rem);line-height:1;color:var(--red-2)}
    .print-dialog-head p{margin:8px 0 0;color:var(--muted)}
    .print-dialog-close{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;font-size:1.2rem}
    .print-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .print-scope-option{position:relative;display:block;cursor:pointer}
    .print-scope-option input{position:absolute;opacity:0;pointer-events:none}
    .print-scope-card{height:100%;display:block;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.18s ease}
    .print-scope-card strong{display:block;color:var(--ink)}
    .print-scope-card small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}
    .print-scope-option input:checked + .print-scope-card{border-color:var(--red);background:#fff3f7;box-shadow:0 0 0 3px rgba(142,20,73,.08)}
    .print-scope-option input:focus-visible + .print-scope-card{outline:3px solid var(--gold);outline-offset:2px}
    .print-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:22px 0 18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#faf7f3}
    .print-option{display:flex;align-items:flex-start;gap:10px;font-weight:730;cursor:pointer}
    .print-option input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--red)}
    .print-language-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
    .print-language-row strong{font-size:.9rem}
    .print-language-choice{display:flex;gap:7px;padding:4px;background:#f1ece7;border-radius:999px}
    .print-language-choice label{cursor:pointer}
    .print-language-choice input{position:absolute;opacity:0}
    .print-language-choice span{display:block;min-width:48px;padding:7px 12px;border-radius:999px;text-align:center;font-weight:850}
    .print-language-choice input:checked + span{background:var(--red);color:#fff}
    .print-summary{padding:14px 16px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:#fff8e8;color:#5d4930;font-size:.9rem}
    .print-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}
    .print-dialog-actions button{min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:10px 16px;font-weight:850;cursor:pointer}
    .print-dialog-actions .primary{border-color:var(--red);background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff}
    .print-cover{display:none}
    body.print-dialog-open{overflow:hidden}

    @media(max-width:620px){
      .print-dialog{padding:10px;place-items:end center}
      .print-dialog-panel{width:100%;max-height:92vh;border-radius:22px 22px 14px 14px;padding:22px 18px}
      .print-scope-grid,.print-options{grid-template-columns:1fr}
      .mobile-print-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px}
    }

    @media print{
      @page{
        size:A4 portrait;
        margin:15mm 13mm 17mm;
        @bottom-left{content:"Bonjour Luci";font:8pt Arial,sans-serif;color:#765d68}
        @bottom-right{content:counter(page);font:8pt Arial,sans-serif;color:#765d68}
      }
      html,body{background:#fff!important;color:#241d21!important;font-size:9.7pt!important;line-height:1.48!important}
      body{margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
      .print-dialog,.topbar,.hero,.real-timeline-wrap,.mobile-guidebar,.guide-sidebar,.sidebar-backdrop,
      .reading-toolbar,.floating-tools,.section-collapse,.step-nav,.chapter-home,.source-box,.footer,
      .backup-reminder,.methodology-hub,.experience-tools,.report-link,.site-search,.quick-search-shell,
      .hero-actions,.check-toolbar,.next-action-card,.quick-card,.planner-actions,.custom-task-panel,
      .doc-toolbar,.dual-mode,.save-panel,.backup-reminder,.plan-delete,.section-summary{display:none!important}
      main,.guide-shell,.guide-content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
      .guide-content > .section{display:none!important}
      body.print-ready.single-step-mode .guide-content > .section:not(.internal-only):not(.print-selected){display:none!important}
      body.print-ready.single-step-mode .guide-content > .section.print-selected:not(.internal-only){display:block!important}
      body.print-ready .guide-content > .section.print-selected{display:block!important;visibility:visible!important;opacity:1!important}
      body.print-ready.single-step-mode .guide-content > .section + .step-nav{display:none!important}
      body.print-ready .guide-content > .section.print-selected :is(.next-action-card,.quick-card,.check-toolbar,.planner-actions,.custom-task-panel,.doc-toolbar,.dual-mode,.save-panel,.experience-tools,.report-link,.site-search,.quick-search-shell,.section-collapse,button){display:none!important}
      .section.print-selected{margin:0 0 8mm!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;break-inside:auto!important}
      .section-head{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;margin:0 0 5mm!important;padding:0 0 3mm!important;border-bottom:1px solid #ddb7c6;break-after:avoid-page}
      .section-head .chapter-kicker{grid-column:1 / -1!important;margin:0 0 1mm!important;font-size:7.5pt!important;color:#8e1449!important}
      .section-head .step{width:32px!important;height:32px!important;border-radius:9px!important;font-size:10pt!important}
      .section h2{margin:0!important;font-size:20pt!important;line-height:1.05!important;color:#6f173f!important}
      .section h3{break-after:avoid-page;color:#4a2235!important}
      .subtitle{margin:2mm 0 0!important;color:#5f555a!important}
      .print-cover{display:none!important}
      body.print-with-cover .print-cover{display:flex!important;min-height:248mm;flex-direction:column;justify-content:center;align-items:center;text-align:center;break-after:page;padding:20mm 12mm;background:#fff!important}
      .print-cover-mark{width:64px;height:64px;object-fit:contain;margin-bottom:12mm;filter:drop-shadow(0 8px 16px rgba(74,34,53,.14))}
      .print-cover-kicker{font-size:8pt;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#8e1449}
      .print-cover-title{max-width:155mm;margin:6mm auto 3mm;font:600 32pt/1 'Cormorant Garamond',serif;color:#4a2235}
      .print-cover-subtitle{max-width:140mm;margin:0 auto;color:#6f5d66;font-size:11pt}
      .print-cover-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:3mm;margin:10mm 0 9mm}
      .print-cover-meta span{padding:2mm 3.5mm;border:1px solid #e9c8d4;border-radius:999px;background:#fff7fa;font-weight:750;color:#6f173f}
      .print-cover-qr{width:25mm;height:25mm;object-fit:contain;margin-top:5mm}
      .print-cover-url{margin:2mm 0 0;font-size:8pt;color:#6f5d66}
      details > *{display:block!important}
      details > summary{list-style:none!important;break-after:avoid-page}
      details > summary::after{display:none!important}
      .task-phase,.plan-item,.card,.notice,.warning,.uncertain,.role-card,.doc-card,.recommend-card,.place-card,.validity-card,.kit-item,.faq{break-inside:avoid-page!important;box-shadow:none!important}
      .task-phase{margin:0 0 3mm!important;border-color:#e1ced5!important}
      .task-phase-list{display:grid!important;padding:0 3mm 3mm!important}
      .task{padding:3mm!important;background:#fff!important}
      body.print-only-remaining .task.done,body.print-only-remaining .plan-item.is-done{display:none!important}
      body.print-no-notes .notes-field{display:none!important}
      .plan-workspace,.planner-panel,.configurator{padding:4mm!important;margin:0 0 5mm!important;box-shadow:none!important;background:#fff!important;border-color:#ddced4!important}
      .planner-grid,.planner-date-grid,.plan-item-fields,.config-grid,.capture-grid{grid-template-columns:1fr 1fr!important;gap:3mm!important}
      .plan-item-fields .notes-field,.custom-task-grid .notes-field{grid-column:1 / -1!important}
      .plan-item{padding:4mm!important;margin-bottom:3mm!important}
      .budget-tool{break-inside:avoid-page!important;box-shadow:none!important}
      .budget-rows{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 5mm!important;padding:2mm 4mm!important}
      .budget-row{grid-template-columns:1fr 26mm!important;gap:2mm!important;padding:2mm 0!important}
      .budget-head,.budget-total{padding:3mm 4mm!important}
      input,select,textarea{min-height:0!important;padding:2mm!important;border:1px solid #cdbbc2!important;border-radius:3px!important;background:#fff!important;color:#241d21!important;font-size:9pt!important}
      textarea{height:auto!important;min-height:12mm!important}
      button{display:none!important}
      input[type="checkbox"]{display:inline-block!important;width:4mm!important;height:4mm!important;padding:0!important}
      table{width:100%!important;font-size:8.2pt!important;line-height:1.34!important;border-collapse:collapse!important}
      thead{display:table-header-group!important}
      tfoot{display:table-footer-group!important}
      tr{break-inside:avoid-page!important}
      th,td{padding:2mm!important;border-color:#d7c3ca!important;vertical-align:top!important}
      .table-wrap{overflow:visible!important}
      .doc-grid,.roles-grid,.travel-grid,.places-grid,.validity-grid,.kit-grid,.doc-specimens{grid-template-columns:1fr 1fr!important;gap:3mm!important}
      .specimen{min-height:0!important;padding:4mm!important;box-shadow:none!important}
      .specimen:after{font-size:18pt!important}
      .cta,.product-bar{background:#f4edf0!important;color:#3d2130!important;border:1px solid #d9c4cc!important}
      .cta p,.product-bar small{color:#5f555a!important}
      a{color:#5d2540!important;text-decoration:none!important}
      body.print-compact .section.print-selected{margin-bottom:5mm!important}
      body.print-compact .card,body.print-compact .notice,body.print-compact .warning,body.print-compact .uncertain,
      body.print-compact .role-card,body.print-compact .doc-card,body.print-compact .recommend-card,body.print-compact .place-card{padding:3mm!important;margin-top:2mm!important}
      body.print-compact p{margin-top:1.6mm;margin-bottom:1.6mm}
      body.print-compact ul,body.print-compact ol{margin-top:1.5mm;margin-bottom:2mm}
    }
