/* Algemeen */
html, body {
  margin: 0;
  padding: 0;
  max-width: 100vw;
  overflow-x: hidden;
  font-family: 'Segoe UI', sans-serif;
  background-color: #DDF1F7;
  color: #3A2E58;
}

.container {
  width: 100%;
  max-width: 600px;
  margin: 2rem auto;
  background-color: #F5F5F5;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  box-sizing: border-box;
}

/* Formulieren */
form input[type="text"],
form input[type="email"],
form input[type="password"],
form textarea,
form select {
  width: 100%;
  padding: 0.9rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  background-color: #FFFFFF;
  box-sizing: border-box;
}

form button {
  display: block;
  width: 100%;
  padding: 0.9rem;
  margin-top: 1rem;
  font-size: 1rem;
  border: none;
  border-radius: 8px;
  background-color: #9DE0AD;
  color: #3A2E58;
  cursor: pointer;
  transition: background 0.3s ease;
  box-sizing: border-box;
}

form button:hover {
  background-color: #7fcf97;
}

form label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 1rem;
}

form input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: #9DE0AD;
  cursor: pointer;
}

/* Navigatie en logo */
.logo {
  text-align: center;
  margin-bottom: 1.5rem;
}

.logo img {
  max-width: 180px;
  width: 80%;
  height: auto;
  display: inline-block;
}

.logo-mini {
  text-align: center;
  margin-bottom: -2.25rem;
}

.logo-mini img {
  max-width: 100px;
  width: 80%;
  height: auto;
  display: inline-block;
}

.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid #ccc;
  display: flex;
  justify-content: space-around;
  padding: 0.7rem 0;
  z-index: 10;
}

.bottom-nav a {
  color: #3A2E58;
  text-decoration: none;
  font-size: 0.9rem;
  text-align: center;
}

.bottom-nav a:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .bottom-nav {
    display: none;
  }
}

/* Dashboard */
.dashboard-buttons {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  max-width: 400px;
  margin: 0 auto 4rem auto;
}

.dashboard-buttons a,
.coming-soon-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem;
  background-color: #3A2E58;
  color: #FFFFFF;
  text-decoration: none;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: bold;
  transition: background 0.3s;
}

.dashboard-buttons a:hover {
  background-color: #2c2243;
}

.disabled-button {
  background-color: #D0D0D0 !important;
  color: #888 !important;
  pointer-events: none;
  cursor: default;
}

.coming-soon-label {
  position: absolute;
  top: 5px;
  right: 5px;
  background: #FF6B6B;
  color: white;
  font-size: 0.7rem;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 6px;
  z-index: 1;
}

.welcome {
  text-align: center;
  margin-bottom: 2rem;
}

/* Taken */
.task-list .card {
  background-color: #fff;
  padding: 1rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.task-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.task-meta {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 1rem;
}

.task-meta .prio {
  font-weight: bold;
}

.task-meta .prio-a {
  color: #E74C3C;
}

.task-meta .prio-b {
  color: #E67E22;
}

.task-meta .prio-c {
  color: #27AE60;
}

.task-meta .icon {
  color: #3A2E58;
}

.delete-link {
  color: #FF6B6B;
  margin-left: 10px;
  text-decoration: none;
  font-size: 1.2rem;
}

.delete-link:hover {
  text-decoration: underline;
}

/* Filters */
.task-filter {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.task-filter .filter-row.top {
  display: flex;
  flex-wrap: wrap;
}

.task-filter .filter-row.top input {
  flex: 1;
  min-width: 250px;
  padding: 0.8rem;
  font-size: 1rem;
  border-radius: 6px;
  border: 1px solid #ccc;
}

.task-filter .filter-row.bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: space-between;
}

.task-filter .filter-row.bottom select,
.task-filter .filter-row.bottom button {
  flex: 1 1 calc(25% - 0.5rem);
  min-width: 120px;
  padding: 0.7rem;
  font-size: 1rem;
  border-radius: 6px;
  border: 1px solid #ccc;
}

.task-filter .filter-row.bottom button {
  background-color: #9DE0AD;
  color: #3A2E58;
  cursor: pointer;
  border: none;
}

.task-filter .filter-row.bottom button:hover {
  background-color: #7fcf97;
}

@media (max-width: 500px) {
  .task-filter .filter-row.bottom select,
  .task-filter .filter-row.bottom button {
    flex: 1 1 100%;
  }
}

/* Terug knop */
.back-button {
  margin-bottom: 1rem;
}

.back-button a {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  background-color: #E0DEFF;
  color: #3A2E58;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
}

.back-button a:hover {
  background-color: #C8C5F0;
}

/* Foutmelding */
.error {
  background-color: #FFE6E6;
  color: #C0392B;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.planned-info ul {
  padding-left: 1.5rem;
  margin: 0.5rem 0;
}

.task-list .task-meta .icon i.fa-arrows-rotate {
  color: #6C5DD3; /* Blauwpaars voor repeterend */
}

.task-list .task-meta .icon i.fa-bell {
  color: #E67E22; /* Warm oranje voor herinnering */
}



.day-nav {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.day-nav a {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background-color: #9DE0AD;
  color: #3A2E58;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: background 0.3s ease;
}

.day-nav a:hover {
  background-color: #7fcf97;
}

/* Tijdvelden altijd naast elkaar, met kleinere gap op mobiel */
.tijdvelden {
  display: flex;
  gap: 0.5rem;               /* minder ruimte tussen */
  margin-bottom: 1rem;
  flex-wrap: nowrap;         /* nooit onder elkaar */
}

.tijdblok {
  flex: 1 1 calc(50% - 0.25rem);
  min-width: 0;              /* zodat ze kunnen krimpen */
  display: flex;
  flex-direction: column;
}

.tijdblok label {
  margin-bottom: 0.3rem;
  font-weight: 600;
}

.tijdblok input {
  padding: 0.5rem;
  border-radius: 6px;
  border: 1px solid #ccc;
}
