- Content type "Ligne comptable" with Paragraphs "Répartition" (Compte + Montant) - Taxonomies: Compte (9 comptes) and Client (unified client list) - hook_node_presave + form validate: sum(répartition) must equal montant HT - /dashboard route (progressive decoupling): Vue 3 app fetching JSON:API, computing solde par compte / par client client-side - "Ajouter une ligne" opens the real Drupal node form in an AJAX modal - Gin as default + admin theme - 9 opening-balance lines seeded from suivi_compta_SASFigli2026_v2.ods Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
57 lines
1.3 KiB
CSS
57 lines
1.3 KiB
CSS
#figli-dashboard-app {
|
|
font-family: var(--gin-font-family, Inter, -apple-system, sans-serif);
|
|
max-width: 1200px;
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
#figli-dashboard-app h2 {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
margin: 2rem 0 0.75rem;
|
|
}
|
|
|
|
#figli-dashboard-app .figli-note {
|
|
color: var(--gin-color-text-light, #6b7280);
|
|
font-size: 0.875rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
#figli-dashboard-app table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
background: var(--gin-bg-layer2, #fff);
|
|
border: 1px solid var(--gin-border-color, #dcdee2);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#figli-dashboard-app th,
|
|
#figli-dashboard-app td {
|
|
text-align: left;
|
|
padding: 0.5rem 0.85rem;
|
|
border-bottom: 1px solid var(--gin-border-color, #eceef1);
|
|
}
|
|
|
|
#figli-dashboard-app th {
|
|
background: var(--gin-bg-layer, #f5f6f8);
|
|
font-weight: 600;
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
#figli-dashboard-app td.amount {
|
|
text-align: right;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
#figli-dashboard-app tr.positive td.amount { color: #1a7f37; }
|
|
#figli-dashboard-app tr.negative td.amount { color: #c9312b; }
|
|
#figli-dashboard-app tr.total td { font-weight: 700; border-top: 2px solid var(--gin-border-color, #333); }
|
|
|
|
#figli-dashboard-app .figli-error {
|
|
background: #fde8e8;
|
|
border: 1px solid #f4a3a3;
|
|
color: #7a1a1a;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 6px;
|
|
}
|