.overview-action-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.45fr) minmax(210px, .72fr) minmax(250px, .9fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 18px;
}

.overview-action-grid.is-todo-empty {
  grid-template-columns: minmax(230px, .62fr) minmax(250px, .8fr) minmax(390px, 1.25fr);
}

.overview-action-grid.is-todo-normal {
  grid-template-columns: minmax(330px, 1.15fr) minmax(245px, .78fr) minmax(330px, 1.07fr);
}

.overview-action-grid.is-todo-busy {
  grid-template-columns: minmax(420px, 1.45fr) minmax(230px, .72fr) minmax(300px, .95fr);
}

.overview-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid #e1e7e8;
  border-radius: 17px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 7px 24px rgba(20, 33, 61, .04);
}

.overview-card h3,
.compact-panel-heading h3 {
  margin: 3px 0 0;
  color: #003057;
  font-size: 1.05rem;
}

.card-eyebrow {
  color: #738696;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.overview-card-heading,
.compact-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.today-action-card {
  border-color: #efd2db;
  border-top: 4px solid #d98ba2;
  background: #fff2f5;
}
.today-action-card.is-empty { padding-bottom: 12px; }
.today-action-card.is-empty .today-action-list { margin-top: 4px; }
.today-action-card.is-empty .compact-empty { padding: 10px 0 2px; }
.today-count,
.queue-count {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff0f4;
  color: #8a4e60;
  font-size: .72rem;
  font-weight: 800;
}

.today-action-list,
.fixed-reminder-list {
  display: grid;
  gap: 0;
  margin-top: 12px;
}

.fixed-reminder-list,.overview-cadence-list{max-height:390px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;scrollbar-width:thin;scrollbar-color:#87a8b8 #edf3f5}
.fixed-reminder-list::-webkit-scrollbar,.overview-cadence-list::-webkit-scrollbar{width:10px}
.fixed-reminder-list::-webkit-scrollbar-track,.overview-cadence-list::-webkit-scrollbar-track{background:#edf3f5;border-radius:6px}
.fixed-reminder-list::-webkit-scrollbar-thumb,.overview-cadence-list::-webkit-scrollbar-thumb{background:#87a8b8;border:2px solid #edf3f5;border-radius:6px}

.today-action-list {
  max-height: 430px;
  overflow: auto;
  padding-right: 4px;
}

.saturday-booking-block {
  margin: 2px 0 12px;
  padding: 12px;
  border: 1px solid #e2c878;
  border-radius: 12px;
  background: #fff1bf;
}

.saturday-booking-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 8px;
  border-bottom: 1px solid #ead89d;
}

.booking-kicker {
  color: #8a6814;
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .08em;
}

.saturday-booking-head h4 {
  margin: 3px 0 2px;
  color: #4f410f;
  font-size: .96rem;
}

.saturday-booking-head p {
  margin: 0;
  color: #756329;
  font-size: .7rem;
  line-height: 1.5;
}

.booking-count {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #fffaf0;
  color: #765000;
  font-size: .8rem;
  font-weight: 850;
}

.saturday-booking-list { display: grid; }
.booking-action-row { padding: 10px 2px; }
.booking-action-row .todo-title { color: #193c55; font-weight: 850; }
.booking-reason {
  display: block;
  margin-top: 3px;
  color: #765f1f;
  font-size: .68rem;
  line-height: 1.45;
}
.booking-action-row.is-booking-later { opacity: .7; }

.today-summary-card {
  border-color: #cfe1ec;
  border-top: 4px solid #9fc9e8;
  background: #eaf4fa;
}

.summary-lead {
  margin: 14px 0 16px;
  color: #315f78;
  font-size: .88rem;
  line-height: 1.65;
}

.summary-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.summary-facts div {
  padding: 10px;
  border-radius: 11px;
  background: #f8fcfe;
}

.summary-facts strong,
.summary-facts span { display: block; }
.summary-facts strong { color: #003057; font-size: 1.25rem; }
.summary-facts span { margin-top: 2px; color: #738696; font-size: .68rem; }

.fixed-reminder-card {
  border-color: #eadcae;
  border-top: 4px solid #ddc475;
  background: #fff5d9;
}

.overview-card-copy {
  margin: 6px 0 0;
  color: #738696;
  font-size: .75rem;
}

.overview-reminder-row {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 0;
  border-bottom: 1px solid #e8ecec;
}

.overview-reminder-row:last-child { border-bottom: 0; }
.overview-reminder-row[role="button"] { cursor: pointer; border-radius: 8px; }
.overview-reminder-row[role="button"]:hover { background: rgba(237,247,255,.55); }
.overview-reminder-row[role="button"]:focus-visible { outline: 3px solid rgba(0,48,87,.22); outline-offset: 2px; }
.reminder-dot { width: 7px; height: 7px; border-radius: 50%; background: #9fc9e8; }
.overview-reminder-row.is-lesson .reminder-dot { background: #67ad87; }
.overview-reminder-row.is-fixed .reminder-dot { background: #d9839c; }
.overview-reminder-row.is-cycle .reminder-dot { background: #f47b55; }
.overview-reminder-row.is-feedback {
  margin-top: 3px;
  padding: 9px 7px;
  border-radius: 8px;
  background: #f1f4f5;
  opacity: .82;
}
.overview-reminder-row.is-feedback .reminder-dot { background: #9aa9b0; }
.overview-reminder-row.is-feedback .reminder-copy strong,
.overview-reminder-row.is-feedback .reminder-meta { color: #667983; }
.overview-reminder-row.is-schedule {
  margin: 3px 0;
  padding: 10px 9px;
  border: 1px solid #eadfbf;
  border-radius: 12px;
  background: #fffaf0;
}
.overview-reminder-row.is-schedule .reminder-dot { background: #789db8; }
.overview-reminder-row.is-schedule.due {
  border-color: #e4c56f;
  background: #fff0bd;
}
.overview-reminder-row.is-schedule.due .reminder-dot { background: #b77d00; }
.overview-reminder-row.is-schedule.due .reminder-copy strong,
.overview-reminder-row.is-schedule.due .reminder-meta { color: #765000; font-weight: 850; }
.reminder-copy { min-width: 0; }
.reminder-copy strong,
.reminder-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reminder-copy strong { color: #18364d; font-size: .82rem; }
.reminder-copy small { margin-top: 2px; color: #738696; font-size: .7rem; }
.reminder-meta { color: #55758a; font-size: .7rem; white-space: nowrap; }

.overview-secondary {
  display: grid;
  grid-template-columns: minmax(310px, .9fr) minmax(350px, 1.1fr);
  gap: 14px;
  align-items: start;
}

.overview-secondary .content-panel { padding: 17px 18px; }
.compact-panel-heading p { margin: 4px 0 0; color: #738696; font-size: .74rem; }
.compact-overview-list { max-height: 310px; overflow: auto; margin-top: 9px; padding-right: 3px; }
.overview-compact-todo { min-width: 0; padding: 8px 0; gap: 8px; cursor: pointer; }
.overview-compact-todo .todo-copy { min-width: 0; }
.overview-compact-todo .todo-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.overview-compact-todo .todo-student { font-size: .68rem; }
.overview-compact-todo .todo-right { display: flex; align-items: center; gap: 5px; }
.overview-compact-todo .todo-date { font-size: .69rem; }
.overview-compact-todo .edit-todo,
.overview-compact-todo .delete-todo { padding: 2px 4px; font-size: .68rem; }
.overview-compact-todo .todo-inline-editor { grid-column: 1 / -1; }
.overview-compact-todo.is-overdue,
.overview-compact-todo.is-today,
.overview-compact-todo.is-soon {
  position: relative;
  margin: 3px 0;
  padding: 11px 8px 11px 13px;
  border-radius: 13px;
}
.overview-compact-todo.is-overdue::before,
.overview-compact-todo.is-today::before,
.overview-compact-todo.is-soon::before {
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 3px;
  width: 4px;
  border-radius: 999px;
  content: "";
}
.overview-compact-todo.is-overdue { background: #fff1ed; }
.overview-compact-todo.is-overdue::before { background: #d85f41; }
.overview-compact-todo.is-today { background: #fff7df; }
.overview-compact-todo.is-today::before { background: #d6a529; }
.overview-compact-todo.is-soon { background: #f1f8fc; }
.overview-compact-todo.is-soon::before { background: #5897b5; }
.overview-compact-todo.is-overdue .todo-title,
.overview-compact-todo.is-today .todo-title {
  color: #18364d;
  font-size: .9rem;
  font-weight: 850;
}
.overview-compact-todo.is-overdue .todo-date { color: #a3442e; font-weight: 850; }
.overview-compact-todo.is-today .todo-date { color: #8a6712; font-weight: 850; }
.compact-empty { padding: 18px 0; margin: 0; font-size: .8rem; }

.overview-more-button {
  width: 100%;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #d7e1e4;
  border-radius: 9px;
  background: #f7fbfc;
  color: #315f78;
  font-size: .75rem;
  font-weight: 750;
}

.overview-stations-slot { margin-top: 14px; }
.overview-stations-slot .overview-stations { margin-top: 0; }
.overview-cadence-panel {
  border-radius: 18px;
  border: 1px solid #e1e7e8;
  padding: 17px 18px 12px !important;
  background: #fff2ea;
}
.overview-cadence-list { display: grid; margin-top: 8px; }

.smart-note-editor {
  grid-template-columns: 112px minmax(0, 1fr) 132px auto !important;
}

.smart-note-editor select,
.smart-note-editor input {
  min-width: 0;
  min-height: 38px;
  border: 1px solid #cfdce3;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: #203950;
  font-size: .82rem;
}

@media (max-width: 1180px) {
  .overview-action-grid,
  .overview-action-grid.is-todo-empty,
  .overview-action-grid.is-todo-normal,
  .overview-action-grid.is-todo-busy { grid-template-columns: 1fr 1fr; }
  .today-action-card { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .overview-secondary { grid-template-columns: 1fr; }
  .smart-note-editor { grid-template-columns: 110px minmax(0, 1fr) !important; }
  .smart-note-editor .soft-button { width: 100%; }
}

@media (max-width: 700px) {
  .overview-action-grid,
  .overview-action-grid.is-todo-empty,
  .overview-action-grid.is-todo-normal,
  .overview-action-grid.is-todo-busy { grid-template-columns: 1fr; }
  .today-action-card { grid-column: auto; }
  .overview-card { padding: 16px; }
  .overview-reminder-row { grid-template-columns: 8px minmax(0, 1fr); }
  .reminder-meta { grid-column: 2; white-space: normal; }
  .overview-compact-todo { grid-template-columns: auto minmax(0, 1fr); }
  .overview-compact-todo .todo-right { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
  .smart-note-editor { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .overview-reminder-row { scroll-behavior: auto; }
}


.overview-lesson-action{border-left:3px solid #d96545;background:#fff8f3}
.lesson-action-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#d96545;color:#fff;font-weight:800}
.overview-lesson-action .lesson-prep-complete{display:grid;width:28px;height:28px;min-width:28px;place-items:center;border:1px solid #cfaa9e;border-radius:6px;background:#fff;color:transparent;font-size:.92rem;font-weight:850}.overview-lesson-action .lesson-prep-complete:hover:not(:disabled),.overview-lesson-action .lesson-prep-complete:focus-visible{border-color:#2e8265;background:#eef8f4;color:#2e8265}.overview-lesson-action .lesson-prep-complete:disabled{cursor:not-allowed;opacity:.5}
.lesson-prep-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.lesson-prep-steps span{padding:4px 7px;border:1px solid #e5c5b9;border-radius:6px;background:#fff;color:#7b3c2d;font-size:.72rem;font-weight:700}
.cadence-archive{margin-top:8px;border-top:1px solid #e2e7e9}
.cadence-archive summary{cursor:pointer;padding:12px 4px;color:#68777e;font-size:.82rem;font-weight:700}
.cadence-archive-list{display:grid;gap:6px;padding-bottom:6px}

.manual-today-todo-form{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}.manual-today-todo-form input,.manual-today-todo-form select{min-width:140px;padding:7px 9px;border:1px solid #cbdbe8;border-radius:8px;background:#fff}.manual-today-todo-form input:first-child{flex:1;min-width:220px}

/* Lesson preparation uses the normal todo row; keep the schedule as a quiet
   secondary line and keep the copy action aligned with the date area. */
.lesson-prep-todo-row{border-left:2px solid #d96545;background:transparent}
.lesson-prep-todo-row .lesson-prep-schedule{display:block;margin-top:4px;color:#70828d;font-size:12px;line-height:1.45}
.lesson-prep-todo-row .todo-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.lesson-prep-todo-row .lesson-prep-copy{position:static;display:inline-flex;width:auto!important;height:auto!important;min-width:0;padding:6px 9px;border:1px solid #bfd2da;border-radius:7px;background:#fff;color:#315f72;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap;cursor:pointer}
.lesson-prep-todo-row .lesson-prep-copy:hover{border-color:#4f91a7;background:#f2f8fa}
.lesson-prep-todo-row .lesson-prep-copy:disabled{cursor:wait;opacity:.6}
.overdue-summary-card{margin:0 0 18px;border-color:#efc6b9;border-top:4px solid #d85f41;background:#fff1ed}.overdue-summary-card h3{color:#8f3928}.overdue-summary-card .overview-card-copy{color:#8f6258}.overdue-todo-list{max-height:330px;overflow:auto;padding-right:4px}.overview-reminder-row.is-schedule.is-priority{border-color:#d7a839;background:#fff0bd;box-shadow:inset 4px 0 0 #b77d00}.overview-reminder-row.is-schedule.is-priority .reminder-dot{background:#b77d00}.overview-reminder-row.is-schedule.is-priority .reminder-copy strong,.overview-reminder-row.is-schedule.is-priority .reminder-meta{color:#765000;font-weight:850}
.next-week-booking-card{margin:0 0 18px;border-color:#c9dfd1;border-top:4px solid #67ad87;background:#eef8f1}.next-week-booking-card h3{color:#185b42}.next-week-booking-card .overview-card-copy{color:#547465}.next-week-booking-card .overview-reminder-row{background:rgba(255,255,255,.65);padding:11px 9px;border-radius:10px;margin:3px 0;border-bottom:0}.next-week-booking-card .overview-reminder-row:hover{background:#fff}
.deferred-todo-collapsed{margin:0 0 18px;border:1px solid #e1e7e8;border-radius:16px;background:rgba(255,255,255,.82);padding:0 16px}.deferred-todo-collapsed summary{cursor:pointer;padding:13px 2px;color:#315f78;font-size:.86rem;font-weight:800}.deferred-todo-collapsed[open]{padding-bottom:12px}.deferred-todo-collapsed .compact-overview-todos{border:0;padding:4px 2px 0;margin:0}.overview-secondary .next-week-booking-card{margin:0;min-width:0}.overview-secondary .next-week-booking-card .fixed-reminder-list{max-height:310px}
