.navigation-toggle { display: none; }
header nav { flex-wrap: wrap; }
header nav [aria-current="page"] { color: #b44f3f; font-weight: 700; }
#boards > article, #weeklyGrid > article { min-width: 0; overflow-wrap: anywhere; }
#dateInput { min-width: 0; }

/* Utilities for touch scroll without scrollbars */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#weeklyScroller {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-padding-inline: 12px;
}

.weekly-day-tab {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 767px) {
  header > div { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 14px; padding-bottom: 14px; }
  header > div > a { flex: 1; min-width: 0; }
  header h1 { font-size: 1.4rem !important; line-height: 1.15 !important; }
  header > div > a p { font-size: 9px !important; letter-spacing: .12em !important; }
  .navigation-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border: 1px solid #d6d3d1; border-radius: 12px; font-size: 14px; }
  header nav { display: none !important; width: 100%; white-space: normal !important; }
  header nav.navigation-open { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; max-height: 65vh; overflow-y: auto; }
  header nav a { padding: 12px; min-height: 44px; border-radius: 8px; }
  header nav a:hover { background: #f5f5f4; }
  header nav > span { display: none; }

  /* Mobile Daily Controls */
  .daily-controls {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px;
    width: 100%;
  }
  .daily-controls label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .daily-controls input,
  .daily-controls button {
    margin: 0;
    min-height: 42px;
  }
  .daily-controls-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }
  .daily-controls-actions button {
    width: 100%;
  }

  input, textarea, select { font-size: 16px !important; }
  #prevWeekBtn, #nextWeekBtn, #thisWeekBtn { min-height: 42px; }
}

/* Compact weekly entries leave more room within the seven day columns. */
#weeklyGrid > article { padding: 10px; }
#weeklyGrid [data-role="calendar-events"] > div { padding: 8px 10px; }
#weeklyGrid [data-role="calendar-events"] h4,
#weeklyGrid [data-role="notes-dropzone"] li {
  font-size: 12px;
  line-height: 1.4;
}
#weeklyGrid [data-role="calendar-events"] p {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
}
#weeklyGrid [data-role="calendar-events"] .flex,
#weeklyGrid [data-role="notes-dropzone"] li { gap: 6px; }
#weeklyGrid [data-role="notes-dropzone"] li { padding: 7px 6px; min-height: 36px; }
#weeklyGrid [data-role="calendar-events"] span,
#weeklyGrid [data-role="notes-dropzone"] span {
  flex-shrink: 0;
  min-width: 18px;
  height: 18px;
  padding: 0 3px;
  font-size: 9px;
}
