/* THESMORA · démos de gestion (Studio OS, Compta+, Com+) · 29/09/2026. Après demo.css. */

/* ——— bascule d'exemple dans l'en-tête (deux biens, deux entreprises) */
.exemples { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 16px; }
.exemples > span { font: 500 .8rem/1.2 var(--f-titre); color: var(--doux); }

/* ——— indicateurs : une question, un chiffre, une unité (dashboard-builder) */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px; }
.kpi { border: 1px solid var(--ligne); border-radius: 3px; padding: 10px 12px; background: var(--bg); min-width: 0; }
.kpi small { display: block; font: 500 .76rem/1.25 var(--f-titre); color: var(--doux); }
.kpi b { display: block; font: 600 clamp(1.2rem, 2.2vw, 1.55rem)/1.2 var(--f-titre); font-variant-numeric: tabular-nums; margin-top: 4px; }
.kpi span { font-size: .78rem; color: var(--doux); }
.kpi.fort { border: 2px solid var(--mod-g); }
@media (max-width: 700px) { .kpis { grid-template-columns: 1fr 1fr; } }

/* ——— tableaux qui deviennent des cartes en mobile */
.tbl.cartes td small { color: var(--doux); }
@media (max-width: 640px) {
  .tbl.cartes thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tbl.cartes, .tbl.cartes tbody, .tbl.cartes tr, .tbl.cartes td { display: block; width: 100%; }
  .tbl.cartes tr { border: 1px solid var(--ligne); border-radius: 3px; padding: 6px 10px; margin-bottom: 8px; background: var(--bg); }
  .tbl.cartes td { border: 0; padding: 3px 0; display: grid; grid-template-columns: 7.5em 1fr; gap: 8px; text-align: left !important; white-space: normal !important; }
  .tbl.cartes td::before { content: attr(data-l); font: 600 .72rem/1.5 var(--f-titre); color: var(--doux); }
  .tbl.cartes tfoot, .tbl.cartes tfoot tr, .tbl.cartes tfoot td { display: block; }
}

/* ——— document au format de l'entreprise (même en-tête, même pied) */
.doc { --doc-c: #1f2326; background: #fffdf8; color: #1f2326; max-width: 720px; margin: 0 auto; padding: clamp(16px, 4vw, 36px); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 10px 30px -12px rgba(0,0,0,.25); border-radius: 2px; font: 400 .88rem/1.5 var(--f-texte); }
.doc-tete { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding-bottom: 12px; border-bottom: 3px solid var(--doc-c); flex-wrap: wrap; }
.doc-marque { display: flex; gap: 10px; align-items: center; }
.doc-mono { width: 38px; height: 38px; display: grid; place-items: center; background: var(--doc-c); color: #fffdf8; font: 400 .9rem/1 var(--f-nom); }
.doc-marque b { font: 600 1rem/1.2 var(--f-titre); display: block; }
.doc-marque small, .doc-meta small { color: #565c5c; font-size: .76rem; display: block; }
.doc-meta { text-align: right; }
.doc-meta span { font: 600 .7rem/1 var(--f-titre); letter-spacing: .1em; text-transform: uppercase; color: var(--doc-c); display: block; }
.doc-meta b { font: 600 .95rem/1.4 var(--f-titre); }
.doc-pour { margin-top: 12px; color: #565c5c; font-size: .82rem; }
.doc-titre { font: 600 1.15rem/1.3 var(--f-titre); margin: 14px 0 6px; }
.doc section { margin-top: 12px; }
.doc h4 { font: 600 .8rem/1.3 var(--f-titre); letter-spacing: .06em; text-transform: uppercase; color: var(--doc-c); margin: 0 0 4px; }
.doc p + p { margin-top: 4px; }
.doc-liste { display: grid; gap: 3px; }
.doc-liste li { padding-left: 14px; position: relative; }
.doc-liste li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; background: var(--doc-c); }
.doc-cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; }
.doc-cases div { border: 1px solid #d9d6cc; padding: 6px 8px; }
.doc-cases dt { font-size: .72rem; color: #565c5c; }
.doc-cases dd { font: 600 .9rem/1.3 var(--f-titre); margin: 0; font-variant-numeric: tabular-nums; }
.doc-tbl { overflow-x: auto; }
.doc-tbl table:has(th:nth-child(4)) { min-width: 440px; }
.doc table { width: 100%; border-collapse: collapse; font-size: .8rem; font-variant-numeric: tabular-nums; }
.doc th { text-align: left; font: 600 .72rem/1.2 var(--f-titre); color: #565c5c; border-bottom: 1px solid #1f2326; padding: 5px 6px; }
.doc td { padding: 5px 6px; border-bottom: 1px solid #e3e0d7; vertical-align: top; }
.doc .n { text-align: right; white-space: nowrap; }
.doc tfoot td { font-weight: 600; border-bottom: 0; }
.doc tfoot tr:last-child td { border-top: 2px solid #1f2326; }
.doc-photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.doc-photo figcaption { font-size: .74rem; color: #565c5c; margin-top: 4px; }
.doc-sign { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.doc-sign div { border: 1px dashed #b9b6ad; height: 64px; padding: 6px; font-size: .74rem; color: #565c5c; }
.doc-pied { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding-top: 8px; border-top: 1px solid #d9d6cc; font-size: .7rem; color: #565c5c; }
.doc mark, .surligne { background: color-mix(in oklab, var(--mod) 30%, transparent); color: inherit; padding: 0 2px; }

/* ——— liste d'onglets secondaires (documents, publications) */
.onglets { display: flex; gap: 6px; flex-wrap: wrap; }
.onglets button { border: 1px solid var(--ligne); background: var(--panel); border-radius: 2px; padding: 8px 10px; min-height: 40px; cursor: pointer; font: 500 .84rem/1.15 var(--f-titre); text-align: left; }
.onglets button[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: var(--bg); }

/* ——— entrées douces (motion-ui : transform + opacity, 350 ms, « smooth ») */
@keyframes g-entre { from { opacity: 0; transform: translateY(8px); } }
.entre { animation: g-entre 350ms var(--ease) both; }
.entre-liste > * { animation: g-entre 350ms var(--ease) both; }
.entre-liste > *:nth-child(2) { animation-delay: 60ms; } .entre-liste > *:nth-child(3) { animation-delay: 120ms; }
.entre-liste > *:nth-child(4) { animation-delay: 180ms; } .entre-liste > *:nth-child(5) { animation-delay: 240ms; }
.entre-liste > *:nth-child(n+6) { animation-delay: 300ms; }

/* ——— barres simples (résultats, charge) */
.barre-h { height: 10px; background: var(--piste); border-radius: 1px; overflow: hidden; }
.barre-h i { display: block; height: 100%; background: var(--mod-g); transform-origin: left; animation: g-barre 600ms var(--ease) both; }
@keyframes g-barre { from { transform: scaleX(0); } }
