/* Reset simple */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: White; /* blanc cassé très doux */
  color: #003049; /* gris chaud foncé */
  min-height: 100vh;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  width: 100%;
  max-width: 900px;
  background-color: white; /* beige clair */
  padding: 15px 30px;
  display: flex;
  justify-content: center;
  gap: 20px;
  border-radius: 6px;
  margin-bottom: 25px;
}

header button {
  background-color: #003049; /* taupe clair */
  border: 1px solid #003049; /* gris chaud moyen */
  padding: 10px 25px;
  border-radius: 5px;
  color: white; /* gris foncé */
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease;
  user-select: none;
}

header button:hover,
header button:focus {
  background-color: #003049; /* taupe un peu plus foncé */
  border-color: none;
  outline: none;
}

/* Main container */
main {
    width: 100%;
    padding: 25px 30px;
    display: flex;
    flex-direction: column;
}

.hidden {
  display: none !important;
}

/* Dropdown planning */
#daySelect {
  padding: 10px 14px;
  border-radius: 5px;
  border: 1px solid #003049;
  font-size: 16px;
  margin-bottom: 25px;
  width: 200px;
  color: #003049;
  cursor: pointer;
  transition: border-color 0.25s ease;
}

#daySelect:hover,
#daySelect:focus {
  border-color: none;
  outline: none;
}

/* Container horaires */
#hoursContainer {
    overflow-y: auto;
    padding: 15px 20px;
    margin-bottom: 30px;
}

/* Ligne horaire */
.hour-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
}

.hour-label {
  width: 60px;
  font-weight: 600;
  color: #7a7263; /* gris chaud moyen */
  font-size: 17px;
  user-select: none;
  padding-top: 8px;
}

/* Textarea auto-grow pour les inputs horaires */
.hour-input {
  flex-grow: 1;
  resize: none;
  padding: 8px 10px;
  font-size: 15px;
  border: 1px solid #003049;
  color: #003049;
  border-radius: 5px;
  font-family: inherit;
  transition: border-color 0.25s ease;
  line-height: 1.3;
  min-height: 36px;
  overflow-y: hidden;
}

.hour-input:focus {
  border-color: none;
  outline: none;
}

/* Bouton enregistrer */
button#savePlanningBtn,
button#saveFinancementBtn,
button#addRowBtn {
  align-self: flex-start;
  background-color: #003049;
  border: 1px solid #003049;
  padding: 12px 28px;
  border-radius: 5px;
  color: white;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease;
  user-select: none;
  margin-bottom: 20px;
}

button#savePlanningBtn:hover,
button#saveFinancementBtn:hover,
button#addRowBtn:hover,
button#savePlanningBtn:focus,
button#saveFinancementBtn:focus,
button#addRowBtn:focus {
  background-color: #003049;
  border-color: none;
  outline: none;
  color: white;
}

/* --- Financement --- */

#financementTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  user-select: none;
  color: #003049;
}

#financementTable thead {
  background-color: #003049;
  color: #003049;
  font-weight: 700;
}

#financementTable th,
#financementTable td {
  border: 1px solid #003049;
  padding: 8px 12px;
  color: white;
  text-align: center;
}


#financementTable tbody tr:nth-child(even) {
  padding: 8px 12px;
  text-align: center;
}


/* Textarea et inputs dans tableau financement */
#financementTable textarea,
#financementTable input[type="number"] {
width: 100%;
    min-width: 110px;
    padding: 5px 8px;
    font-size: 14px;
    border: none;
    resize: none; 
    font-family: inherit;
    transition: border-color 0.25s ease;
    overflow-y: hidden;
    min-height: 30px;
}

#financementTable textarea:focus,
#financementTable input[type="number"]:focus {
  border-color: none;
  outline: none;
}

/* Total container */
#totalContainer {
  margin-top: 15px;
  font-weight: 700;
  font-size: 18px;
  color: #003049;
}
#image1 {
    width: 3em;
    position: absolute;
    right: 0;
}
#image2 {
    width: 3em;
    position: absolute;
    left: 0;
}
#downloadPdfBtn{
    width: 3em;
    position:absolute;
    top: 80PX;
    left: 3px;
}