diff --git a/global.css b/global.css index 57f8d1e..f6fdaf3 100644 --- a/global.css +++ b/global.css @@ -323,6 +323,23 @@ body.no-scroll { margin-top: auto; } +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 12px; + margin-top: 24px; + padding-top: 20px; + border-top: 1px solid var(--border-light); + width: 100%; /* Empêche le débordement */ + box-sizing: border-box; +} + +/* On s'assure que les boutons ne sont pas géants par défaut */ +.modal-footer .pf-btn { + width: auto; + min-width: 100px; +} + /* Notifications Toasts */ .pf-toast { position: fixed; @@ -395,6 +412,8 @@ body.no-scroll { .pf-modal { align-items: flex-end; /* Aligne la modale en bas */ padding: 0; + z-index: 1000 !important; + background: rgba(15, 23, 42, 0.75); } .pf-modal-content { @@ -409,6 +428,18 @@ body.no-scroll { transform: translateY(100%); animation: slideUpSheet 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; max-height: 92vh; /* Laisse un petit espace en haut */ + z-index: 1001; + overflow: hidden; + } + .prev-section-header, + .view-header { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; /* Important pour le mobile */ + gap: 15px; + margin-bottom: 20px; + width: 100%; } /* Barre de drag visuelle en haut de la modale */ @@ -422,6 +453,13 @@ body.no-scroll { margin: -10px auto 20px auto; } + .modal-footer { + flex-direction: column-reverse; /* Empilement propre sur mobile */ + } + .modal-footer .pf-btn { + width: 100%; /* Largeur totale uniquement sur mobile */ + } + @keyframes slideUpSheet { to { transform: translateY(0); diff --git a/modules/budget/budget.css b/modules/budget/budget.css index 87c82eb..3f173ae 100644 --- a/modules/budget/budget.css +++ b/modules/budget/budget.css @@ -599,6 +599,11 @@ input[type="number"] { overflow-x: auto; white-space: nowrap; } + .pf-btn { + position: relative !important; + right: auto !important; + top: auto !important; + } .form-row { grid-template-columns: 1fr; } @@ -664,6 +669,19 @@ input[type="number"] { font-weight: 700; } +.prev-section-header, +.view-header, +.budget-view > div[style*="justify-content: space-between"] { + display: flex !important; + flex-direction: row !important; + justify-content: space-between !important; + align-items: center !important; + float: none !important; /* On annule tout float résiduel */ + position: relative !important; /* On s'assure qu'il n'est pas en absolute */ + width: 100% !important; + gap: 15px !important; +} + .prev-salary-table { width: 100%; max-width: 900px; @@ -1009,6 +1027,11 @@ th.col-laia { .budget-view > div[style*="display:grid"] > div { padding: 12px 10px !important; } + .budget-view + > div[style*="justify-content: space-between"]:not(.view-header) { + flex-direction: column !important; + align-items: stretch !important; + } /* 4. EN-TÊTES EPARGNE (Titre isolé, boutons 50/50 en dessous) */ .budget-view diff --git a/modules/budget/views/budget_prev.php b/modules/budget/views/budget_prev.php index 0e150e8..e3cb971 100644 --- a/modules/budget/views/budget_prev.php +++ b/modules/budget/views/budget_prev.php @@ -139,24 +139,24 @@ function getTranslatedMonthName($dateString) {
-
-
-

- -
-
- - -
+
+
+

+ +
+
+ + +
+
diff --git a/modules/budget/views/suivi.php b/modules/budget/views/suivi.php index e0394fa..f51111b 100644 --- a/modules/budget/views/suivi.php +++ b/modules/budget/views/suivi.php @@ -578,7 +578,7 @@ $monthName = $monthNames[(int)$viewM] . ' ' . $viewY; @@ -586,7 +586,7 @@ $monthName = $monthNames[(int)$viewM] . ' ' . $viewY; @@ -622,23 +622,22 @@ $monthName = $monthNames[(int)$viewM] . ' ' . $viewY;
-

- +

+
-
+
📄
- - + +
-