Files
HouseHub/assets/css/style.css
T
2025-12-11 15:12:48 +01:00

368 lines
6.9 KiB
CSS

/* === RESET SIMPLE === */
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
margin: 0;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
sans-serif;
background: #f5f5f5;
color: #222;
}
/* === LAYOUT GLOBAL === */
.pf-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
}
.pf-header {
background: #243b53;
color: #fff;
padding: 8px 0;
}
.pf-header-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.pf-logo {
font-weight: 600;
font-size: 18px;
}
.pf-nav {
display: flex;
gap: 16px;
}
.pf-nav-link {
color: #d9e2ec;
text-decoration: none;
font-size: 14px;
padding: 4px 8px;
border-radius: 4px;
}
.pf-nav-link:hover {
background: rgba(255, 255, 255, 0.1);
}
.pf-nav-link--active {
background: #102a43;
color: #f0f4f8;
}
.pf-main {
padding: 24px 0 48px;
}
.pf-section {
margin-top: 24px;
}
.pf-section--panel {
background: #fff;
border-radius: 8px;
padding: 16px 16px 20px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.pf-footer {
border-top: 1px solid #d9e2ec;
padding: 8px 0;
font-size: 12px;
color: #627d98;
background: #f0f4f8;
}
/* === CARDS & FLEX === */
.pf-card.pf-card--wide {
min-width: 400px; /* tu peux monter à 500 ou 600 selon ton goût */
flex: 1 1 400px; /* laisse la carte prendre plus de place dans la ligne */
}
/* Le tableau des vacances occupe toute la largeur disponible */
#schoolHolidaysTable {
width: auto;
table-layout: auto;
border-collapse: collapse;
}
.pf-card.pf-card--wide .pf-table-wrapper {
width: 100%;
overflow-x: auto;
}
/* En-têtes et cellules sans retour à la ligne */
#schoolHolidaysTable th,
#schoolHolidaysTable td {
white-space: nowrap; /* pas de retour à la ligne dans les cellules */
overflow: visible; /* pas de tronquage */
padding: 4px 8px;
text-align: center;
}
.pf-flex {
display: flex;
}
.pf-flex--wrap {
flex-wrap: wrap;
}
.pf-gap-lg {
gap: 24px;
}
.pf-card {
background: #f8fafc;
border-radius: 8px;
border: 1px solid #d9e2ec;
padding: 12px 14px;
}
.pf-card--small {
min-width: 240px;
max-width: 260px;
}
.pf-card-title {
margin: 0 0 8px;
font-size: 15px;
}
.pf-card-body {
font-size: 13px;
}
label {
font-size: 12px;
}
/* === TABLES === */
/* Appliquer un layout fixe pour harmoniser la largeur des colonnes */
#planningTable {
table-layout: fixed;
width: 100%; /* le tableau prend toute la largeur disponible */
}
/* Colonnes : texte centré et césures possibles */
#planningTable th,
#planningTable td {
text-align: center;
white-space: nowrap; /* évite les retours à la ligne sauvages */
overflow: hidden;
text-overflow: ellipsis; /* coupe avec "..." si le texte déborde */
}
/* Colonnes "Mois" et "Semaine" un peu plus étroites */
#planningTable th:nth-child(1),
#planningTable td:nth-child(1) {
width: 2%; /* Mois */
}
#planningTable th:nth-child(2),
#planningTable td:nth-child(2) {
width: 2%; /* Semaine */
}
/* Colonnes jours (Lundi à Vendredi) réparties sur une largeur raisonnable */
#planningTable th:nth-child(3),
#planningTable td:nth-child(3),
#planningTable th:nth-child(4),
#planningTable td:nth-child(4),
#planningTable th:nth-child(5),
#planningTable td:nth-child(5),
#planningTable th:nth-child(6),
#planningTable td:nth-child(6),
#planningTable th:nth-child(7),
#planningTable td:nth-child(7) {
width: 2%; /* ajustable selon ton rendu */
}
/* Colonnes de totaux (Off / Extra / Centre / Avis) un peu plus compactes */
#planningTable th:nth-child(8),
#planningTable td:nth-child(8),
#planningTable th:nth-child(9),
#planningTable td:nth-child(9),
#planningTable th:nth-child(10),
#planningTable td:nth-child(10),
#planningTable th:nth-child(11),
#planningTable td:nth-child(11) {
width: 4%;
}
.pf-table-wrapper {
max-height: 600px;
overflow: auto;
border-radius: 8px;
background: #fff;
border: 1px solid #d9e2ec;
}
.pf-table {
width: 100%;
border-collapse: collapse;
font-size: 12px;
}
.pf-table th,
.pf-table td {
border: 1px solid #d9e2ec;
padding: 4px 6px;
text-align: center;
}
.pf-table thead th {
position: sticky;
top: 0;
background: #f0f4f8;
z-index: 1;
}
.pf-table--compact th,
.pf-table--compact td {
padding: 3px 4px;
}
/* === INPUTS === */
input[type="number"] {
width: 3.1rem;
font-size: 11px;
padding: 2px 3px;
}
/* === COLOR CODING POUR LE FAMILY CALENDAR === */
.fc-row--carole-off {
background: #ffe0e0;
}
.fc-row--bank-holiday {
background: #d9f7be;
}
/* Tableau recap vacances scolaires */
.fc-holidays-table {
width: 100%;
border-collapse: collapse;
font-size: 12px;
margin-top: 12px;
}
.fc-holidays-table th,
.fc-holidays-table td {
border: 1px solid #d9e2ec;
padding: 4px 6px;
text-align: left;
}
.fc-holidays-table th {
background-color: #f0f4f8;
}
/* Cellule de jour sélectionnée dans le calendrier */
.fc-day--selected {
background-color: #bde4ff !important; /* Une couleur de sélection claire, !important pour forcer le style */
cursor: pointer;
}
/* Le menu contextuel flottant */
.fc-selection-menu {
display: none; /* Caché par défaut */
position: absolute; /* Permet de le positionner près de la souris */
z-index: 100;
background-color: white;
border: 1px solid #ccc;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
border-radius: 6px;
padding: 8px;
font-size: 12px;
}
.fc-selection-menu .fc-menu-section {
margin-bottom: 8px;
}
.fc-selection-menu .fc-menu-section:last-child {
margin-bottom: 0;
}
.fc-selection-menu strong {
display: block;
margin-bottom: 4px;
font-weight: 600;
}
.fc-selection-menu button {
display: block;
width: 100%;
background: none;
border: 1px solid #ddd;
border-radius: 4px;
padding: 4px 8px;
margin-top: 4px;
text-align: left;
cursor: pointer;
}
.fc-selection-menu button:hover {
background-color: #f0f4f8;
border-color: #b0c4de;
}
/* --- Couleurs de base pour la légende et les jours --- */
.fc-day--school-holiday {
background-color: #e5d9f2;
}
.fc-day--public-holiday {
background-color: #e0e0e0;
}
.fc-day--off-carole {
background-color: #ffe9a7;
}
.fc-day--extra-off-carole {
background-color: #ffd59b;
}
.fc-day--has-guard {
box-sizing: border-box;
}
/* Bordure verte pour Centre */
.fc-day--has-guard.fc-day--centre {
border: 2px solid #4caf50;
}
/* Bordure bleue pour Avis */
.fc-day--has-guard.fc-day--avis {
border: 2px solid #2196f3;
}
/* --- Combinaisons avec dégradés --- */
/* Combinaison Vacances + Off Carole */
.fc-day--school-holiday.fc-day--off-carole {
background-image: linear-gradient(45deg, #e5d9f2 49%, #ffe9a7 51%);
}
/* Combinaison Vacances + Extra Off Carole */
.fc-day--school-holiday.fc-day--extra-off-carole {
background-image: linear-gradient(45deg, #e5d9f2 49%, #ffd59b 51%);
}
/* Eléments pour la légende */
.pf-legend-item {
display: flex;
align-items: center;
margin-bottom: 5px;
}
.pf-legend-color {
width: 20px;
height: 20px;
border: 1px solid #ccc;
margin-right: 10px;
flex-shrink: 0;
}