/* CSS volontairement simple : lisible, pas de framework. */ :root { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; line-height: 1.35; color: #111; } body { margin: 0; background: #f5f5f5; } .container { max-width: 980px; margin: 24px auto; padding: 16px; } .card { background: #fff; border-radius: 14px; padding: 16px; box-shadow: 0 6px 18px rgba(0,0,0,.06); margin-bottom: 14px; } /* ========================= HEADER ========================= */ .header-card { padding: 14px 16px; } .header-top { display: flex; justify-content: space-between; align-items: center; /* ✅ alignement vertical corrigé */ gap: 12px; } .header-top h2 { margin: 0; flex: 1; /* le titre prend l’espace */ } .header-actions { display: flex; gap: 10px; align-items: center; flex-shrink: 0; /* le bouton ne se compresse pas */ } /* ========================= */ .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } @media (max-width: 820px) { .row { grid-template-columns: 1fr; } } label { display: block; font-size: .92rem; margin-bottom: 6px; color: #333; } input, select { width: 100%; padding: 10px 12px; border: 1px solid #d8d8d8; border-radius: 10px; font-size: 1rem; } button { padding: 10px 14px; border: 0; border-radius: 10px; font-size: 1rem; cursor: pointer; background: #eee; } button.primary { background: #111; color: #fff; } table { width: 100%; border-collapse: collapse; } th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #eee; } .muted { color: #666; } .right { text-align: right; } .total { font-weight: 700; font-size: 1.1rem; } .error { color: #b00020; margin-top: 10px; } .success { color: #0a7a2f; margin-top: 10px; } /* --------------------------- Sections repliables ---------------------------- */ .section { border: 1px solid #eee; border-radius: 12px; margin-bottom: 12px; overflow: hidden; } /* Supprime le marker natif */ .section > summary { list-style: none; } .section > summary::-webkit-details-marker { display: none; } .section > summary { cursor: pointer; padding: 12px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; user-select: none; background: #fafafa; border-bottom: 1px solid #eee; } .section[open] > summary { background: #f7f7f7; } .section-title { font-weight: 650; } .section-body { padding: 14px 12px; } /* Chevron simple (sans dépendance) */ .chevron::before { content: "▸"; display: inline-block; transform: rotate(0deg); transition: transform 120ms ease; color: #444; font-size: 1.1rem; } .section[open] .chevron::before { transform: rotate(90deg); } /* Légère amélioration tactile */ .section > summary:hover { background: #f3f3f3; } .section-status { font-weight: 500; color: #666; margin-left: 8px; white-space: nowrap; } /* --------------------------- Barre d’export PDF ---------------------------- */ .export-bar { position: sticky; bottom: 16px; display: flex; justify-content: flex-end; margin-top: 18px; }