/* ============================================================================
   Peleka — V5.250 (09/10/2026). Habillage de TOUTES les pages de l'OS, sans toucher au balisage :
   une seule écriture (Newsreader pour les titres, Instrument Sans pour le reste), un papier chaud,
   une encre presque noire, le vert du logo comme seul accent, des filets plutôt que des ombres.
   Actif quand <body> porte la classe « peleka » (interrupteur « Interface Peleka / classique »).
   Chaque règle surcharge une utilité Tailwind déjà présente dans index.html : aucune page n'est réécrite.
   ============================================================================ */
body.peleka {
    --paper: #F7F5F0; --paper-2: #FFFFFF; --paper-3: #EFECE5;
    --ink: #121D1F; --ink-2: #4A5557; --ink-3: #7C8688;
    --line: #E3DFD6; --line-2: #CFC9BD;
    --green: #2F7D5F; --green-2: #E4F0EA; --green-3: #B9DCCB;
    --amber: #A4661A; --amber-2: #F7EAD5; --red: #B2382E; --red-2: #F6E1DE; --blue: #2E5E8A; --blue-2: #E1EAF3;
    --sb: #0F1A1C; --sb-ink: #C9D1CE; --sb-ink-2: #6F7E7B; --sb-line: #1E2B2D; --sb-active: #1A2A2C;
    font-family: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    background: var(--paper) !important;
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}
body.peleka .font-sans { font-family: inherit; }
body.peleka .font-mono { font-family: inherit; font-variant-numeric: tabular-nums; letter-spacing: 0; }

/* ---- surfaces ---- */
body.peleka .bg-navy-50\/50 { background: var(--paper); }
body.peleka .bg-white, body.peleka .bg-white\/80 { background: var(--paper-2); }
body.peleka .bg-navy-50, body.peleka .bg-navy-100 { background: var(--paper-3); }
body.peleka .card-elevated, body.peleka.theme-clair .card-elevated { box-shadow: none; border: 1px solid var(--line); }
body.peleka .card-elevated:hover, body.peleka.theme-clair .card-elevated:hover { box-shadow: none; transform: none; border-color: var(--line-2); }
body.peleka .rounded-2xl { border-radius: 10px; }
body.peleka .rounded-xl { border-radius: 8px; }
body.peleka .rounded-lg { border-radius: 7px; }
body.peleka .shadow-sm, body.peleka .shadow, body.peleka .shadow-md, body.peleka .shadow-lg, body.peleka .shadow-xl, body.peleka .shadow-2xl { box-shadow: none; }
body.peleka header.sticky { background: var(--paper); backdrop-filter: none; border-color: var(--line); }

/* ---- texte ---- */
body.peleka .text-navy-900, body.peleka .text-navy-800 { color: var(--ink); }
body.peleka .text-navy-700, body.peleka .text-navy-600 { color: var(--ink-2); }
body.peleka .text-navy-500, body.peleka .text-navy-400 { color: var(--ink-3); }
body.peleka main .text-navy-300 { color: var(--ink-3); opacity: .85; }
body.peleka .text-gray-500, body.peleka .text-gray-400 { color: var(--ink-3); }
body.peleka .font-bold, body.peleka .font-extrabold, body.peleka .font-black { font-weight: 600; }
body.peleka .font-semibold { font-weight: 500; }
body.peleka main h1, body.peleka header h2 { font-family: "Newsreader", Georgia, serif; font-weight: 400; letter-spacing: -.01em; }
body.peleka header h2 { font-size: 20px; }
body.peleka main .text-3xl, body.peleka main .text-4xl { font-family: "Newsreader", Georgia, serif; font-weight: 400; letter-spacing: -.01em; }
body.peleka .uppercase { letter-spacing: .08em; }
body.peleka .tabular, body.peleka td, body.peleka .text-right { font-variant-numeric: tabular-nums; }

/* ---- filets ---- */
body.peleka .border-navy-50, body.peleka .border-navy-100, body.peleka .border-navy-100\/80, body.peleka .divide-navy-50 > :not([hidden]) ~ :not([hidden]), body.peleka .divide-navy-100 > :not([hidden]) ~ :not([hidden]) { border-color: var(--line); }
body.peleka .border-navy-200, body.peleka .border-navy-300 { border-color: var(--line-2); }
body.peleka .table-modern tbody tr:nth-child(even) { background: transparent; }
body.peleka .table-modern tbody tr:hover { background: var(--paper-3); }
body.peleka .table-modern thead th { color: var(--ink-3); font-weight: 500; letter-spacing: .08em; border-bottom: 1px solid var(--line); background: transparent; }

/* ---- accent, attention, retard ---- */
body.peleka .bg-emerald-500, body.peleka .bg-emerald-600, body.peleka .bg-emerald-700 { background: var(--green); }
body.peleka .bg-emerald-50, body.peleka .bg-emerald-100 { background: var(--green-2); }
body.peleka .text-emerald-500, body.peleka .text-emerald-600, body.peleka .text-emerald-700, body.peleka .text-emerald-800 { color: var(--green); }
body.peleka .border-emerald-200, body.peleka .border-emerald-300, body.peleka .border-emerald-400 { border-color: var(--green-3); }
body.peleka .ring-emerald-400, body.peleka .hover\:ring-emerald-400:hover { --tw-ring-color: var(--green-3); }
body.peleka .bg-amber-50, body.peleka .bg-amber-100 { background: var(--amber-2); }
body.peleka .text-amber-600, body.peleka .text-amber-700, body.peleka .text-amber-800 { color: var(--amber); }
body.peleka .border-amber-200, body.peleka .border-amber-300 { border-color: #E8D2AE; }
body.peleka .bg-red-50, body.peleka .bg-red-100 { background: var(--red-2); }
body.peleka .text-red-500, body.peleka .text-red-600, body.peleka .text-red-700 { color: var(--red); }
body.peleka .bg-blue-50 { background: var(--blue-2); }
body.peleka .text-blue-500, body.peleka .text-blue-600, body.peleka .text-blue-700 { color: var(--blue); }

/* ---- boutons ---- */
body.peleka main button.bg-navy-800, body.peleka main button.bg-navy-900, body.peleka header button.bg-navy-900 { background: var(--ink); color: var(--paper); box-shadow: none; }
body.peleka main button.bg-navy-800:hover, body.peleka main button.bg-navy-900:hover, body.peleka header button.bg-navy-900:hover { background: #24343A; }
body.peleka main button.bg-navy-700 { background: var(--ink-2); color: var(--paper); }
body.peleka main button.border-navy-200 { background: var(--paper-2); }
body.peleka main button.border-navy-200:hover { border-color: var(--ink-3); background: var(--paper-2); }
body.peleka.theme-clair button:not(:disabled):hover { filter: none; }
body.peleka.theme-clair .bg-emerald-500:hover, body.peleka.theme-clair .bg-emerald-600:hover { box-shadow: none !important; background: #27694F; }
body.peleka input, body.peleka select, body.peleka textarea { background: var(--paper-2); border-color: var(--line-2); color: var(--ink); font-family: inherit; }
body.peleka input:focus, body.peleka select:focus, body.peleka textarea:focus { border-color: var(--ink-3); box-shadow: none; --tw-ring-color: transparent; }

/* ---- barre latérale ---- */
body.peleka aside.bg-navy-900 { background: var(--sb); color: var(--sb-ink); }
body.peleka aside .border-navy-700\/50 { border-color: var(--sb-line); }
body.peleka aside nav a { color: var(--sb-ink); border-radius: 7px; border-left: 0; font-weight: 400; font-size: 13.5px; padding: 7px 10px; }
body.peleka aside nav a:hover { background: var(--sb-active); color: #fff; }
body.peleka aside nav a.bg-emerald-500\/15 { background: var(--sb-active); color: #fff; }
body.peleka aside nav a svg { opacity: .75; }
body.peleka aside .nav-count { background: transparent; color: var(--sb-ink-2); font-variant-numeric: tabular-nums; font-weight: 400; margin-left: auto; }
body.peleka aside .text-navy-400, body.peleka aside .text-navy-500, body.peleka aside .text-navy-600 { color: var(--sb-ink-2); }
body.peleka .pk-brand { display: flex; align-items: center; gap: 10px; }
body.peleka .pk-mark { width: 34px; height: 34px; flex: none; }
body.peleka .pk-word { font-family: "Instrument Sans", system-ui, sans-serif !important; font-weight: 600 !important; font-size: 22px !important; letter-spacing: -.04em !important; color: #ECEBE6 !important; line-height: 1 !important; }
body.peleka .pk-brand b { display: block; font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: 19px; letter-spacing: .01em; color: #fff; line-height: 1.1; }
body.peleka .pk-brand small { display: block; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--sb-ink-2); margin-top: 2px; white-space: nowrap; }
body.peleka .pk-go { display: flex; align-items: center; gap: 8px; width: 100%; background: var(--sb-active); border: 1px solid var(--sb-line); border-radius: 8px; padding: 7px 10px; color: var(--sb-ink-2); font-size: 13px; margin: 0 0 6px; }
body.peleka .pk-go:hover { color: var(--sb-ink); }
body.peleka .pk-go kbd { margin-left: auto; font: 11px "Instrument Sans", sans-serif; color: var(--sb-ink-2); border: 1px solid var(--sb-line); border-radius: 4px; padding: 0 5px; }
body.peleka .pk-grp { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--sb-ink-2); padding: 12px 10px 4px; }

/* ---- palette « Aller à » ---- */
body.peleka .pk-pal { position: fixed; inset: 0; background: rgba(10, 14, 15, .45); display: flex; align-items: flex-start; justify-content: center; padding-top: 14vh; z-index: 60; }
body.peleka .pk-pal .box { width: min(560px, 92vw); background: var(--paper-2); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); overflow: hidden; }
body.peleka .pk-pal input { width: 100%; border: 0; outline: 0; padding: 16px 18px; font: 15px "Instrument Sans", sans-serif; background: transparent; color: var(--ink); border-bottom: 1px solid var(--line); border-radius: 0; }
body.peleka .pk-pal .list { max-height: 50vh; overflow: auto; padding: 6px; }
body.peleka .pk-pal .it { display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 7px; font-size: 13.5px; cursor: pointer; width: 100%; text-align: left; color: var(--ink); }
body.peleka .pk-pal .it:hover, body.peleka .pk-pal .it.sel { background: var(--paper-3); }
body.peleka .pk-pal .it span { color: var(--ink-3); font-size: 12px; margin-left: auto; }

/* ---- Aujourd'hui : sections à filets ---- */
body.peleka .pk-sec { border-top: 1px solid var(--line); padding: 22px 0 10px; display: grid; grid-template-columns: 200px 1fr; gap: 24px; }
body.peleka .pk-sec > aside h2 { font-size: 17px; font-weight: 500; line-height: 1.25; color: var(--ink); }
body.peleka .pk-sec > aside p { margin: 6px 0 0; font-size: 12.5px; color: var(--ink-3); }
body.peleka .pk-cnt { font-family: "Newsreader", Georgia, serif; font-size: 30px; line-height: 1; color: var(--ink); margin-top: 10px; font-variant-numeric: tabular-nums; }
body.peleka .pk-row { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--line); }
body.peleka .pk-row:last-of-type { border-bottom: 0; }
body.peleka .pk-row .t { font-weight: 500; color: var(--ink); }
body.peleka .pk-row .d { font-size: 12.5px; color: var(--ink-3); margin-top: 1px; }
body.peleka .pk-btn { display: inline-flex; align-items: center; border: 1px solid var(--line-2); border-radius: 7px; padding: 6px 12px; font-size: 13px; color: var(--ink); background: var(--paper-2); white-space: nowrap; }
body.peleka .pk-btn:hover { border-color: var(--ink-3); }
body.peleka .pk-btn.strong { background: var(--ink); color: var(--paper); border-color: var(--ink); }
body.peleka .pk-btn.strong:hover { background: #24343A; }
body.peleka .pk-more { font-size: 12.5px; color: var(--ink-3); padding: 10px 0 0; }
body.peleka .pk-more button { color: var(--green); font-weight: 500; }
body.peleka .pk-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 8px; vertical-align: 1px; background: var(--line-2); }
body.peleka .pk-dot.retard { background: var(--red); } body.peleka .pk-dot.attention { background: var(--amber); } body.peleka .pk-dot.action { background: var(--green); }

/* ---- dossier : phrase d'état et frise d'étapes ---- */
body.peleka .pk-phrase { font-size: 14.5px; color: var(--ink-2); max-width: 70ch; margin: 2px 0 14px; line-height: 1.55; }
body.peleka .pk-steps { display: flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--paper-2); margin: 0 0 18px; }
body.peleka .pk-steps div { flex: 1; padding: 8px 10px; font-size: 11.5px; color: var(--ink-3); border-right: 1px solid var(--line); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.peleka .pk-steps div:last-child { border-right: 0; }
body.peleka .pk-steps div.done { background: var(--green-2); color: var(--green); }
body.peleka .pk-steps div.now { background: var(--ink); color: var(--paper); font-weight: 500; }
body.peleka .pk-steps div.terminal { background: var(--red-2); color: var(--red); }

@media (max-width: 900px) {
    body.peleka .pk-sec { grid-template-columns: 1fr; gap: 10px; }
    body.peleka .pk-steps { flex-wrap: wrap; } body.peleka .pk-steps div { flex: 1 1 30%; }
}

/* ---- V5.255 : trois chiffres de pilotage ---- */
body.peleka .pk-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 6px 0 10px; }
body.peleka .pk-kpi { text-align: left; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-2); padding: 12px 16px; display: flex; flex-direction: column; gap: 2px; }
body.peleka .pk-kpi:hover { border-color: var(--line-2); }
body.peleka .pk-kpi .l { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
body.peleka .pk-kpi b { font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: 28px; line-height: 1.1; color: var(--ink); font-variant-numeric: tabular-nums; }
body.peleka .pk-kpi .d { font-size: 12.5px; color: var(--ink-3); }
