/* Plan d'entretien par moteur (préfixe mp-) : panneau du formulaire véhicule, bandeau de la fiche véhicule,
   Paramètres › Entretien par moteur, Rappels › relances par moteur. */
.vn-side { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 0; }
.vn-side .vn-assist { position: static; }
.vn-side:not(:has(.vn-assist:not([hidden]))) { display: none; }
.mp-eng { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .15); border-radius: 10px; padding: 9px 11px; font-size: 12.5px; color: #d8e0ee; line-height: 1.45; }
.mp-eng b { color: #fff; font-size: 14px; } .mp-eng small { color: #aab6cc; font-size: 11.5px; }
.mp-eng.warn { border-color: rgba(242, 169, 0, .55); background: rgba(242, 169, 0, .1); }
.mp-ty { display: inline-block; margin-left: 6px; background: #d7141b; color: #fff; font-weight: 700; font-size: 10.5px; padding: 1px 7px; border-radius: 9px; letter-spacing: .03em; }
.mp-conf { font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 9px; white-space: nowrap; }
.mp-conf.h { background: #e3f6e8; color: #157a33; } .mp-conf.m { background: #fff2df; color: #9a5b00; } .mp-conf.f { background: #fde8e8; color: #b91c1c; }
.mp-warn { margin-top: 6px; font-size: 11.5px; color: #ffd28a; } .mp-warn.light { color: #9a5b00; background: #fff8ec; border-radius: 6px; padding: 5px 8px; }
.mp-cands { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; } .mp-cands span { background: rgba(255, 255, 255, .1); border-radius: 6px; padding: 2px 7px; font-size: 11px; }
.mp-row { background: #fff; color: #0f1b33; border-radius: 9px; padding: 8px 10px; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; border-left: 4px solid #9aa3b2; }
.mp-row.late { border-left-color: #e11d24; } .mp-row.check { border-left-color: #f08a1c; } .mp-row.soon { border-left-color: #f2c200; } .mp-row.ok { border-left-color: #2dbb57; } .mp-row.insp { border-left-color: #2b6fe0; }
.mp-row b { font-size: 13.5px; } .mp-row small { grid-column: 1 / -1; color: #56627a; font-size: 11.5px; line-height: 1.4; }
.mp-st { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 5px; white-space: nowrap; align-self: start; }
.mp-st.late { background: #fde8e8; color: #b91c1c; } .mp-st.check { background: #fff4e5; color: #b45309; } .mp-st.soon { background: #fff8d6; color: #8a6100; } .mp-st.ok { background: #e3f6e8; color: #157a33; } .mp-st.unk { background: #f0f2f6; color: #5d6779; } .mp-st.insp { background: #e8eef9; color: #1c3f86; }
.mp-none, .mp-ft { margin: 0; font-size: 11.5px; color: #aab6cc; }
.mp-org { font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 9px; border: 1px solid; white-space: nowrap; }
.mp-org.prop { color: #8a5a00; border-color: #f3d39b; background: #fffaf0; } .mp-org.val { color: #157a33; border-color: #b9e5c5; background: #e3f6e8; } .mp-org.gen { color: #5d6779; border-color: #dde2ea; background: #f0f2f6; }
.cp-mt tr.mp-hot td { background: #fff7f0; }
/* fiche véhicule */
.mp-card { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 18px; padding: 16px 18px; }
.mp-card h4 { margin: 0 0 6px; font: 700 12px var(--font, Barlow), Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #6b7688); }
.mp-kv { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; margin: 0; font-size: 13px; } .mp-kv dt { color: var(--muted, #6b7688); } .mp-kv dd { margin: 0; font-weight: 700; text-align: right; }
.mp-big { font: 800 22px var(--font, Barlow), Arial, sans-serif; color: var(--text, #14223b); }
.mp-red { color: #b91c1c; }
/* Paramètres › Entretien par moteur et Rappels */
.mp-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid var(--line, #e4e8ef); }
.mp-chip { font-size: 12px; font-weight: 700; padding: 5px 11px; border-radius: 16px; border: 1px solid #d6deec; color: #3a4660; background: #fff; cursor: pointer; }
.mp-chip.on { background: var(--navy, #14223b); color: #fff; border-color: var(--navy, #14223b); }
.mp-stat { margin-left: auto; display: flex; gap: 16px; font-size: 12.5px; color: var(--muted, #6b7688); } .mp-stat b { color: var(--text, #14223b); font-size: 15px; }
.mp-edit { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted, #6b7688); }
.mp-edit input { height: 30px; width: 88px; border: 1.5px solid #d6deec; border-radius: 7px; padding: 0 7px; font: 600 13px var(--font, Barlow), Arial, sans-serif; } .mp-edit input.y { width: 48px; }
.mp-src a { display: block; color: #1c3f86; font-size: 11.5px; max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line, #e4e8ef); }
.mp-kpi { border: 1px solid var(--line, #e4e8ef); border-radius: 10px; padding: 10px 12px; } .mp-kpi b { font: 800 24px var(--font, Barlow), Arial, sans-serif; display: block; } .mp-kpi small { color: var(--muted, #6b7688); font-size: 12px; }
.mp-kpi.r b { color: #b91c1c; } .mp-kpi.o b { color: #b45309; } .mp-kpi.y b { color: #8a6100; }
.mp-note { margin: 12px 16px; padding: 10px 12px; border-radius: 8px; background: #e8eef9; color: #1c3f86; font-size: 12.5px; }
@media (max-width: 900px) { .vn-side { position: static; } .mp-card { grid-template-columns: 1fr; } .mp-kpis { grid-template-columns: 1fr 1fr; } }
