/* Feuille d'étude — EXPORTÉE depuis le bundle React, ne pas éditer.
 * Produite par tools/exporter-etudes.mjs. Partagée par les études qui la
 * déclarent à l'identique — 4 feuilles pour 6 études, mesuré. */

.study-root {
    --paper: #faf9f7; --paper-w: #f4f1ec; --white: #fff;
    --ink: #1a1a1a; --ink-s: #3d3d3d; --ink-m: #6b6b6b; --ink-f: #9a9a9a; --ink-ff: #c5c0b8;
    --rule: #e0ddd8; --rule-l: #eeebe6;
    --red: #b8390e; --red-s: rgba(184,57,14,.06); --red-10: rgba(184,57,14,.10);
    --insight: #9d174d; --insight-s: #fdf2f8;
    --green: #047857; --green-s: #ecfdf5;
    --blue: #0e7490; --blue-s: #ecfeff;
    --purple: #5b21b6; --purple-s: #f3f0ff;
    --amber: #b45309; --amber-s: #fef7ed;

    font-family: 'Geist', sans-serif;
    background: var(--paper-w);
    color: var(--ink-s);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
  }

  /* HERO */
  .study-hero {
    background: var(--ink);
    color: var(--paper);
    padding: 56px 40px 48px;
  }
  .study-hero .orbii-logo {
    font-family: 'Newsreader', serif;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: -.02em;
    margin-bottom: 32px;
  }
  .study-hero .orbii-logo .dot { color: var(--red); }
  .study-hero .orbii-logo .branch { color: #ec4899; }
  .study-hero h1 {
    font-family: 'Newsreader', serif;
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: white;
  }
  .study-hero h1 .dot { color: var(--red); }
  .study-hero .subtitle {
    font-size: 1rem;
    color: white;
    max-width: 750px;
    line-height: 1.6;
  }
  .study-hero .meta {
    margin-top: 24px;
    font-family: 'Geist Mono', monospace;
    font-size: 0.72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-f);
  }

  /* NAV TABS */
  .study-nav {
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .study-tabs {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .study-tabs::-webkit-scrollbar { display: none; }
  .study-tab {
    padding: 14px 18px;
    cursor: pointer;
    font-family: 'Geist Mono', monospace;
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    color: var(--ink-m);
    transition: all 0.2s;
    user-select: none;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
  }
  .study-tab:hover { color: var(--red); }
  .study-tab.active { color: var(--red); border-bottom-color: var(--red); }

  /* CONTENT */
  .study-content { max-width: 1200px; margin: 0 auto; padding: 30px 20px; }

  /* SECTION HEADERS */
  .study-root .section-header { margin-bottom: 24px; }
  .study-root .section-header h2 {
    font-family: 'Newsreader', serif;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
    letter-spacing: -.01em;
  }
  .study-root .section-header p { color: var(--ink-m); font-size: 0.92rem; }

  /* CARDS */
  .study-root .card, .study-root .study-card {
    background: var(--white);
    border-radius: 8px;
    padding: 28px;
    margin-bottom: 20px;
    border: 1px solid var(--rule);
  }
  .study-root .card h3 {
    font-family: 'Newsreader', serif;
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--ink);
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .study-root .card h4 {
    font-family: 'Newsreader', serif;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 8px;
  }
  .study-root .card p { color: var(--ink-s); margin-bottom: 10px; font-size: 0.92rem; }

  /* STUDY LABEL */
  .study-label {
    font-family: 'Geist Mono', monospace;
    font-size: 0.68rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 10px;
  }

  /* BADGES */
  .study-root .badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-family: 'Geist Mono', monospace;
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: .04em;
    margin-right: 4px;
    margin-bottom: 4px;
  }
  .badge-leader { background: var(--green-s); color: var(--green); }
  .badge-challenger { background: var(--amber-s); color: var(--amber); }
  .badge-niche { background: var(--purple-s); color: var(--purple); }
  .badge-opensource { background: var(--green-s); color: var(--green); border: 1px solid rgba(4,120,87,.15); }
  .badge-enterprise { background: var(--purple-s); color: var(--purple); border: 1px solid rgba(91,33,182,.12); }
  .badge-new { background: var(--red-s); color: var(--red); border: 1px solid rgba(184,57,14,.15); }

  /* TABLE */
  .study-root .table-wrapper {
    overflow-x: auto;
    margin: 20px 0;
    border-radius: 8px;
    border: 1px solid var(--rule);
  }
  .study-root table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
  .study-root thead { background: var(--paper-w); }
  .study-root th {
    font-family: 'Geist Mono', monospace;
    font-size: 0.68rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--red);
    padding: 12px 14px;
    text-align: left;
    font-weight: 400;
    border-bottom: 1px solid var(--rule);
  }
  .study-root td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--rule-l);
    color: var(--ink-s);
    vertical-align: top;
  }
  .study-root td:first-child { font-weight: 600; color: var(--ink); }
  .study-root tr:hover { background: rgba(184,57,14,.02); }
  .study-root tr:last-child td { border-bottom: none; }

  /* SCORE BAR */
  .score-bar { display: flex; align-items: center; gap: 10px; }
  .score-track { flex: 1; height: 10px; background: var(--rule); border-radius: 5px; overflow: hidden; min-width: 80px; }
  .score-fill { height: 100%; border-radius: 5px; transition: width 0.8s ease; }
  .score-label { font-family: 'Geist Mono', monospace; font-size: 0.78rem; font-weight: 500; min-width: 36px; text-align: right; color: var(--ink); }

  /* MATRIX GRID */
  .matrix-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin: 20px 0; }
  .matrix-card {
    background: var(--white);
    border-radius: 8px;
    padding: 22px;
    border: 1px solid var(--rule);
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .matrix-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
  .matrix-card h4 { font-family: 'Newsreader', serif; font-size: 1.05rem; font-weight: 600; margin-bottom: 6px; color: var(--ink); }
  .matrix-card .vendor-type { font-family: 'Geist Mono', monospace; font-size: 0.7rem; color: var(--ink-f); margin-bottom: 12px; letter-spacing: .03em; }
  .matrix-card ul { list-style: none; padding: 0; }
  .matrix-card li { padding: 4px 0; font-size: 0.83rem; position: relative; padding-left: 16px; color: var(--ink-s); }
  .matrix-card li::before { content: '\00b7'; position: absolute; left: 0; color: var(--red); font-weight: bold; font-size: 1.2em; }

  /* INSIGHT CALLOUT */
  .study-root .insight {
    background: var(--amber-s);
    border-left: 3px solid var(--amber);
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  .study-root .insight strong { color: var(--amber); }

  .study-root .callout-red {
    background: var(--red-s);
    border-left: 3px solid var(--red);
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  .study-root .callout-blue {
    background: var(--blue-s);
    border-left: 3px solid var(--blue);
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  .study-root .callout-green {
    background: var(--green-s);
    border-left: 3px solid var(--green);
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  .study-root .callout-purple {
    background: var(--purple-s);
    border-left: 3px solid var(--purple);
    padding: 18px 22px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  .study-root .mono-label {
    font-family: 'Geist Mono', monospace;
    font-size: 0.68rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: 10px;
  }
  .study-root .badge-blue { background: var(--blue-s); color: var(--blue); border: 1px solid rgba(14,116,144,.15); }
  .study-root .timeline { position: relative; padding-left: 28px; margin: 20px 0; }
  .study-root .timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--rule); }
  .study-root .timeline-item { position: relative; padding-bottom: 22px; }
  .study-root .timeline-item:last-child { padding-bottom: 0; }
  .study-root .timeline-item::before { content: ''; position: absolute; left: -33px; top: 6px; width: 10px; height: 10px; background: var(--red); border-radius: 50%; border: 2px solid var(--paper-w); }
  .study-root .timeline-date { font-family: 'Geist Mono', monospace; font-size: 0.7rem; font-weight: 500; color: var(--red); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; }
  .study-root .timeline-title { font-family: 'Newsreader', serif; font-size: 0.95rem; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
  .study-root .timeline-desc { font-size: 0.83rem; color: var(--ink-m); line-height: 1.5; }

  /* TREND CARDS */
  .trend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; margin: 20px 0; }
  .trend-card { background: var(--white); border-radius: 8px; padding: 24px; border: 1px solid var(--rule); }
  .trend-card .trend-number {
    font-family: 'Newsreader', serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--red);
    line-height: 1;
    margin-bottom: 8px;
  }
  .trend-card h4 { font-family: 'Newsreader', serif; font-weight: 600; margin-bottom: 8px; color: var(--ink); }
  .trend-card p { font-size: 0.85rem; color: var(--ink-m); }

  /* STATS ROW */
  .stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 24px 0; }
  .stat-box { background: var(--white); border-radius: 8px; padding: 22px; text-align: center; border: 1px solid var(--rule); }
  .stat-value {
    font-family: 'Newsreader', serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--red);
  }
  .stat-label { font-size: 0.8rem; color: var(--ink-m); margin-top: 4px; }

  /* PROS/CONS */
  .pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
  .pros, .cons { padding: 12px; border-radius: 6px; font-size: 0.83rem; }
  .pros { background: var(--green-s); }
  .cons { background: var(--red-s); }
  .pros h5 { color: var(--green); margin-bottom: 6px; font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: .08em; text-transform: uppercase; }
  .cons h5 { color: var(--red); margin-bottom: 6px; font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: .08em; text-transform: uppercase; }

  /* FILTER BAR (v2) */
  .study-root .filter-bar { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
  .study-root .filter-btn { padding: 8px 18px; border-radius: 3px; border: 1px solid var(--rule); background: var(--white); cursor: pointer; font-family: 'Geist Mono', monospace; font-size: 0.72rem; font-weight: 400; letter-spacing: .06em; transition: all 0.2s; }
  .study-root .filter-btn:hover, .study-root .filter-btn.active { background: var(--red); color: var(--white); border-color: var(--red); }

  /* FOOTER */
  .study-footer {
    text-align: center;
    padding: 40px 20px;
    font-family: 'Geist Mono', monospace;
    color: var(--ink-f);
    font-size: 0.72rem;
    letter-spacing: .06em;
    border-top: 1px solid var(--rule);
    margin-top: 40px;
  }
  .study-footer .logo {
    font-family: 'Newsreader', serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ink);
    margin-bottom: 8px;
  }

  @media (max-width: 768px) {
    .study-hero h1 { font-size: 1.6rem; }
    .study-hero { padding: 40px 20px; }
    .pros-cons { grid-template-columns: 1fr; }
    .matrix-grid { grid-template-columns: 1fr; }
    .trend-grid { grid-template-columns: 1fr; }
    .stats-row { grid-template-columns: repeat(2, 1fr); }
  }


  /* COLORED COLUMNS FOR JOBDESC TABLES (gouvernance-ia study specific) */
  .study-root .col-avant { background: #f4f1ec; color: #6b6b6b; }
  .study-root .col-genai { background: #ecfeff; color: #0e7490; }
  .study-root .col-agentic { background: rgba(184,57,14,.06); color: #b8390e; }
  .study-root th.col-avant { background: #6b6b6b; color: #fff; }
  .study-root th.col-genai { background: #0e7490; color: #fff; }
  .study-root th.col-agentic { background: #b8390e; color: #fff; }
  .study-root th.col-avant, .study-root th.col-genai, .study-root th.col-agentic { font-size: 0.72rem; letter-spacing: .08em; }
  .study-root td.col-avant { background: rgba(107,107,107,.04); }
  .study-root td.col-genai { background: rgba(14,116,144,.04); }
  .study-root td.col-agentic { background: rgba(184,57,14,.04); }

  /* SCORE NAME (gouvernance-ia study specific) */
  .score-name { font-size: 0.82rem; color: var(--ink-s); min-width: 180px; }
  .score-bar { margin-bottom: 8px; }

  /* PROS/CONS LISTS */
  .study-root .pros ul, .study-root .cons ul { list-style: none; padding: 0; }
  .study-root .pros li, .study-root .cons li { padding: 3px 0; position: relative; padding-left: 14px; }
  .study-root .pros li::before { content: '+'; position: absolute; left: 0; color: var(--green); font-weight: 700; }
  .study-root .cons li::before { content: '−'; position: absolute; left: 0; color: var(--red); font-weight: 700; }
