/* Documentation fonctionnelle « Linuen Studio en schémas » (16 octobre 2026) — page figée de la console du propriétaire.
   Reprise de l'original validé par Alexandre : TOUT est sous .docfn (classes préfixées docfn-, jetons --docfn-*), rien
   n'écrase --ln-*, thème clair seul, Inter servie par l'application (le seul serif est celui du système). Une colonne de
   lecture, chaque schéma dans son cadre : le cadre défile, jamais la page. */
.docfn {
  --docfn-bg: #f6f8fc; --docfn-paper: #ffffff; --docfn-ink: #0f1b3d; --docfn-muted: #55627d; --docfn-line: #d7deeb;
  --docfn-cobalt: #1853cf; --docfn-cobalt-soft: #e6eeff; --docfn-deep: #0b1740;
  --docfn-ai: #7a4fd6; --docfn-ai-soft: #f1ebff; --docfn-soft: #0f8a6a; --docfn-soft-bg: #e4f5ef; --docfn-warn: #b4610b; --docfn-warn-bg: #fdf1e2;
  --docfn-display: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;
  --docfn-body: var(--ln-font, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);
  color: var(--docfn-ink); font-family: var(--docfn-body); font-size: 15px; line-height: 1.6;
  min-width: 0; color-scheme: light;
}
.docfn *, .docfn *::before, .docfn *::after { box-sizing: border-box; }
.docfn .docfn-wrap { max-width: 1040px; margin: 0 auto; display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.docfn .docfn-wrap > * { min-width: 0; }
.docfn header { display: flex; flex-direction: column; gap: 10px; }
.docfn .docfn-eyebrow { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--docfn-cobalt); font-weight: 600; }
.docfn .docfn-wrap h1 { font-family: var(--docfn-display); font-weight: 600; font-size: clamp(30px, 5vw, 46px); line-height: 1.1; letter-spacing: normal; margin: 0; color: var(--docfn-ink); text-wrap: balance; }
.docfn .docfn-wrap h2 { font-family: var(--docfn-display); font-weight: 600; font-size: clamp(22px, 3.2vw, 28px); line-height: 1.2; letter-spacing: normal; margin: 0; max-width: none; color: var(--docfn-ink); text-wrap: balance; }
.docfn .docfn-wrap h3 { font-family: var(--docfn-body); font-size: 15px; line-height: 1.35; letter-spacing: normal; margin: 0; color: var(--docfn-ink); }
.docfn .docfn-lead { font-size: 17px; color: var(--docfn-muted); max-width: 68ch; margin: 0; }
.docfn .docfn-wrap section { display: flex; flex-direction: column; gap: 14px; margin: 0; min-width: 0; }
.docfn .docfn-num { font-family: var(--docfn-display); color: var(--docfn-cobalt); font-size: 15px; font-weight: 600; }
.docfn .docfn-wrap p { margin: 0; max-width: 72ch; }
.docfn .docfn-fig { background: var(--docfn-paper); border: 1px solid var(--docfn-line); border-radius: 14px; padding: 20px; overflow-x: auto; max-width: 100%; }
.docfn .docfn-fig svg { display: block; min-width: 760px; width: 100%; height: auto; }
.docfn .docfn-fig svg text { font-family: var(--docfn-body); fill: var(--docfn-ink); }
.docfn .docfn-fig .docfn-t-muted { fill: var(--docfn-muted); }
.docfn .docfn-fig .docfn-t-white { fill: #fff; }
.docfn .docfn-fig .docfn-b { fill: var(--docfn-paper); stroke: var(--docfn-line); stroke-width: 1.2; }
.docfn .docfn-fig .docfn-b-co { fill: var(--docfn-cobalt-soft); stroke: var(--docfn-cobalt); stroke-width: 1.4; }
.docfn .docfn-fig .docfn-b-ai { fill: var(--docfn-ai-soft); stroke: var(--docfn-ai); stroke-width: 1.4; }
.docfn .docfn-fig .docfn-b-ok { fill: var(--docfn-soft-bg); stroke: var(--docfn-soft); stroke-width: 1.4; }
.docfn .docfn-fig .docfn-b-wa { fill: var(--docfn-warn-bg); stroke: var(--docfn-warn); stroke-width: 1.4; }
.docfn .docfn-fig .docfn-b-deep { fill: var(--docfn-cobalt); stroke: none; }
.docfn .docfn-fig .docfn-lane { fill: var(--docfn-bg); stroke: none; }
.docfn .docfn-fig .docfn-ar { stroke: var(--docfn-muted); stroke-width: 1.6; fill: none; }
.docfn .docfn-fig .docfn-ar-co { stroke: var(--docfn-cobalt); stroke-width: 1.8; fill: none; }
.docfn .docfn-fig .docfn-ar-dash { stroke: var(--docfn-muted); stroke-width: 1.4; fill: none; stroke-dasharray: 5 5; }
.docfn .docfn-fig .docfn-tip { fill: var(--docfn-muted); }
.docfn .docfn-fig .docfn-tip-co { fill: var(--docfn-cobalt); }
.docfn .docfn-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--docfn-muted); }
.docfn .docfn-legend span { display: inline-flex; align-items: center; gap: 8px; }
.docfn .docfn-sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; border: 1.5px solid; }
.docfn .docfn-sw.docfn-co { background: var(--docfn-cobalt-soft); border-color: var(--docfn-cobalt); }
.docfn .docfn-sw.docfn-ai { background: var(--docfn-ai-soft); border-color: var(--docfn-ai); }
.docfn .docfn-sw.docfn-ok { background: var(--docfn-soft-bg); border-color: var(--docfn-soft); }
.docfn .docfn-sw.docfn-wa { background: var(--docfn-warn-bg); border-color: var(--docfn-warn); }
.docfn .docfn-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 14px; }
.docfn .docfn-card { background: var(--docfn-paper); border: 1px solid var(--docfn-line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.docfn .docfn-card p { font-size: 14px; color: var(--docfn-muted); }
.docfn .docfn-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 12px; }
.docfn .docfn-kpi { border-left: 3px solid var(--docfn-cobalt); padding: 4px 0 4px 12px; }
.docfn .docfn-kpi b { display: block; font-family: var(--docfn-display); font-size: 24px; font-variant-numeric: tabular-nums; }
.docfn .docfn-kpi span { font-size: 13px; color: var(--docfn-muted); }
.docfn table { border-collapse: collapse; width: 100%; font-size: 14px; background: none; border: 0; }
.docfn th, .docfn td { text-align: left; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--docfn-line); vertical-align: top; }
.docfn th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--docfn-muted); font-weight: 600; background: none; }
.docfn .docfn-tbl { overflow-x: auto; max-width: 100%; background: var(--docfn-paper); border: 1px solid var(--docfn-line); border-radius: 12px; }
.docfn tbody tr:last-child td { border-bottom: 0; }
.docfn footer { font-size: 13px; color: var(--docfn-muted); border-top: 1px solid var(--docfn-line); padding-top: 16px; }
@media (max-width: 520px) { .docfn { font-size: 14.5px; } .docfn .docfn-fig { padding: 12px; } }
@media print { .docfn .docfn-fig { overflow: visible; } .docfn .docfn-fig svg { min-width: 0; } }
