* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Segoe UI', sans-serif;
}

body {
  transition: background 0.3s, color 0.3s;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
   background-color: #2b2c31;
  color: #e0e0e0;
}

button {
   background-color: #232324;
  color: white;
    padding: 10px 15px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
}

button:hover {
  background-color: #2d3033;
}

button:disabled {
  background-color: gray;
  cursor: not-allowed;
}

.loading {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  gap: 25px;
  width: 300px;
  align-items: center;
  height: 100%;
  justify-content: center;
}

.loading img {
  width: 35px;
  animation: rotating 2s infinite linear;
}

@-webkit-keyframes rotating {
    from{
        -webkit-transform: rotate(0deg);
    }
    to{
        -webkit-transform: rotate(-360deg);
    }
}


.loginPage {
  max-width: 400px;
  margin: 80px auto;
  padding: 30px;
  border-radius: 8px;
  background: inherit;
  border: 1px solid #ccc;
}

.loginPage input {
  width: 100%;
  padding: 10px;
  margin-top: 10px;
  margin-bottom: 20px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: inherit;
  color: inherit;
}

.login_buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
}


table td {
  padding :8px;
}

table {
  border-collapse:collapse;
}
table {
  border: 3px solid black;
}

.page {
  display: flex;
  background: inherit;
  margin:  32px;
}

.pageHeader {
   border-right: 1px solid #444;
  width: 250px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: stretch;
  background-color: #1a1d1f;
  border-radius: 15px 0px 0px 15px;
}

.pageHeader button {
  width: 200px;
  margin-top: 5px;
  margin-bottom: 5px;
  
}

.pageHeader select {
  padding: 6px;
  border-radius: 5px;
  border: 1px solid #aaa;
  background-color: inherit;
  color: inherit;
  width: 200px;
  text-align: center;
  
}


.mese_selector {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.mese_selector select {
  padding: 6px;
  border-radius: 5px;
  border: 1px solid #aaa;
  background-color: inherit;
  color: inherit;
}

.body {
  padding-left: 32px;
  border: 1px solid #444;
  border-radius: 0px 15px 15px 0px;
}

.yellow {
  background-color: yellow;
  color: black;
}

.horizontal {
  display: flex;
  flex-direction: row;
  gap: 30px;
  padding-right: 50px;
}

.carica_genera_container{
  
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.calendar td {
  border: 1px solid white;
}

.calendar_day_title {
  border-bottom: 1px solid black;
  margin-bottom: 8px;
}

.calendar_day_body {
  display: flex;
  flex-direction: column;
  min-height: 100px;
  width: 130px;
  
}

.calendar_day_span {
  background-color: #7cb342;
  margin-bottom: 8px;
  padding: 5px;
  border-radius: 5px;
  color: white;
  padding-right: 30px;
  
}

.new_desiderata {
  display: flex;
  height: 30px;
  gap: 5px;
  
}

.new_desiderata button {
  width: 30px;
  height: 30px;
}


.calendar_day_desiderata {
  background-color: #4285f4;
  margin-bottom: 8px;
  padding: 5px;
  border-radius: 5px;
  color: white;
  
  display: flex;
  justify-content: space-around;
}

.calendar_day_trash img {
  width: 20px;
  cursor: pointer;
}


.horizontal_buttons {
  display: flex;
  gap: 50px;
}