214 lines
3.1 KiB
CSS
214 lines
3.1 KiB
CSS
/* 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;
|
||
}
|