/* ZNR Driving School Manager — Mobile Upgrade 6 */
@media screen and (max-width: 750px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  header{padding:12px 10px!important;gap:8px!important}
  header h1{font-size:18px!important;line-height:1.15!important}
  header small{font-size:11px!important}
  header>div:last-child{gap:5px!important}
  header .secondary{min-height:40px!important;padding:7px 9px!important;font-size:12px!important}

  #nav{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;padding:5px 6px!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  #nav::-webkit-scrollbar{display:none!important}
  #nav button{flex:0 0 auto!important;width:auto!important;min-width:auto!important;padding:9px 12px!important;font-size:12px!important;line-height:1.1!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}

  main{width:100%!important;max-width:none!important;padding:10px!important}

  /* Dashboard: force a visible 2 x 2 layout */
  #dashboard>.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  #dashboard>.grid>.card{width:100%!important;min-width:0!important;height:92px!important;min-height:92px!important;padding:12px!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  #dashboard>.grid>.card .muted{font-size:12px!important;line-height:1.2!important;white-space:normal!important}
  #dashboard>.grid>.card .stat{font-size:24px!important;line-height:1.05!important;margin-top:5px!important}

  /* Upcoming lessons/tests: force two equal columns */
  #dashboard>.profile2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important;width:100%!important}
  #dashboard>.profile2>.card{width:100%!important;min-width:0!important;padding:11px!important;border-radius:12px!important;overflow:hidden!important}
  #dashboard>.profile2 h3{font-size:15px!important;line-height:1.2!important;margin:0 0 8px!important}
  #dashboard>.profile2 .listitem{padding:8px 0!important;font-size:11px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
  #dashboard>.profile2 .listitem b{font-size:11px!important}
  #dashboard>.profile2 .muted{font-size:10px!important}

  /* Other pages */
  .toolbar{gap:7px!important}
  .toolbar>*{max-width:100%!important}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .formgrid{grid-template-columns:1fr!important}
  .formgrid .full{grid-column:auto!important}
  .card{border-radius:12px!important}
  .tablewrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}

@media screen and (max-width:380px){
  header h1{font-size:17px!important}
  header .secondary{font-size:11px!important;padding:7px!important}
  #nav button{font-size:11px!important;padding:8px 10px!important}
  #dashboard>.grid{gap:6px!important}
  #dashboard>.grid>.card{height:86px!important;min-height:86px!important;padding:10px!important}
  #dashboard>.grid>.card .stat{font-size:22px!important}
  #dashboard>.profile2{gap:6px!important}
  #dashboard>.profile2>.card{padding:9px!important}
  #dashboard>.profile2 h3{font-size:14px!important}
}


/* ZNR Schedule Upgrade 8 — weekly timetable like a driving-school calendar */
.weekSchedule{background:#fff;border:1px solid #e4e8ef;border-radius:12px;overflow:hidden;min-width:0}
.weekTop{display:flex;border-bottom:1px solid #e4e8ef;position:sticky;top:0;z-index:2;background:#fff}
.timeCorner{width:48px;flex:0 0 48px;padding:9px 3px;text-align:center;font-size:10px;color:#687386;font-weight:700}
.weekDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1}
.weekDay{min-width:0;text-align:center;padding:7px 1px;border-left:1px solid #edf0f4;font-size:10px;color:#687386}
.weekDay b{display:block;font-size:14px;color:#172033;margin-top:2px}.weekDay.isToday{background:#eaf1ff;color:#1769ff}.weekDay.isToday b{color:#1769ff}
.weekBody{display:flex;max-height:650px;overflow-y:auto;overflow-x:hidden}
.timeAxis{width:48px;flex:0 0 48px;background:#fafbfc}.timeLabel{font-size:9px;color:#7b8493;text-align:right;padding:3px 4px 0 0;border-bottom:1px solid #eef1f5}
.weekColumns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;position:relative}
.weekCol{height:832px;min-width:0;position:relative;border-left:1px solid #eef1f5;background:linear-gradient(to bottom,transparent 0,transparent 51px,#eef1f5 52px);background-size:100% 52px}
.todayCol{background-color:#fbfdff}.hourLine{position:absolute;left:0;right:0;border-top:1px solid #eef1f5;pointer-events:none}
.scheduleEvent{position:absolute;z-index:1;border-radius:6px;padding:3px 3px 2px;overflow:hidden;cursor:pointer;line-height:1.05;font-size:9px;border-left:3px solid #1769ff;background:#eaf1ff}
.scheduleEvent b,.scheduleEvent span,.scheduleEvent small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleEvent b{font-size:9px}.scheduleEvent span{font-weight:700;margin-top:2px}.scheduleEvent small{font-size:7px;color:#687386;margin-top:2px}
.scheduleEvent.eventTest{background:#fff1d6;border-left-color:#f59e0b}.scheduleEvent.eventTest small{color:#925400}
@media(max-width:750px){
 .calendarCard{padding:6px!important}.weekSchedule{border-radius:10px}.timeCorner,.timeAxis{width:34px;flex-basis:34px}.timeLabel{font-size:8px;padding-right:3px}.weekDay{font-size:9px;padding:6px 0}.weekDay b{font-size:12px}.weekBody{max-height:620px}.weekCol{height:832px;background-size:100% 52px}.scheduleEvent{padding:3px 2px;font-size:8px;border-left-width:2px}.scheduleEvent b{font-size:8px}.scheduleEvent span{font-size:8px}.scheduleEvent small{font-size:6.5px}
}
@media(max-width:380px){.timeCorner,.timeAxis{width:30px;flex-basis:30px}.weekDay{font-size:8px}.weekDay b{font-size:11px}.scheduleEvent{font-size:7px}.scheduleEvent b,.scheduleEvent span{font-size:7px}.scheduleEvent small{font-size:6px}}

/* ZNR Schedule Upgrade 9 — fix calendar container width + improve colour/size */
#calendarGrid{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
#calendarGrid .weekSchedule{width:100%!important;max-width:100%!important;display:block!important}
.weekSchedule{border:1px solid #d8dee8!important;border-radius:14px!important;box-shadow:0 3px 12px rgba(23,32,51,.08)!important}
.weekTop{background:#f7f9fc!important;border-bottom:2px solid #dbe2ec!important}
.timeCorner{width:62px!important;flex-basis:62px!important;font-size:11px!important;color:#4b5563!important;background:#f7f9fc!important}
.weekDay{padding:9px 3px!important;font-size:11px!important;background:#f7f9fc!important;border-left:1px solid #dfe5ed!important}
.weekDay b{font-size:17px!important;color:#111827!important}
.weekDay.isToday{background:#dbeafe!important;color:#1d4ed8!important}
.weekDay.isToday b{color:#1d4ed8!important}
.timeAxis{width:62px!important;flex-basis:62px!important;background:#fbfcfe!important}
.timeLabel{font-size:10px!important;color:#667085!important;border-bottom:1px solid #e1e7ef!important;padding:4px 6px 0 0!important}
.weekCol{height:896px!important;background:repeating-linear-gradient(to bottom,#fff 0,#fff 55px,#e5eaf1 56px,#fff 57px)!important;border-left:1px solid #e1e7ef!important}
.todayCol{background-color:#f5f9ff!important}
.hourLine{border-top:1px solid #e5eaf1!important}
.scheduleEvent{border-radius:8px!important;padding:5px 5px 4px!important;font-size:11px!important;border-left-width:4px!important;box-shadow:0 2px 5px rgba(23,32,51,.12)!important;background:#dbeafe!important;border-left-color:#2563eb!important}
.scheduleEvent b{font-size:11px!important;color:#0f172a!important}.scheduleEvent span{font-size:11px!important;color:#172033!important;margin-top:3px!important}.scheduleEvent small{font-size:9px!important;color:#475569!important;margin-top:3px!important}
.scheduleEvent.eventTest{background:#ffedd5!important;border-left-color:#f97316!important}.scheduleEvent.eventTest small{color:#9a3412!important}
.scheduleEvent.eventLesson:nth-of-type(odd){background:#dcfce7!important;border-left-color:#16a34a!important}
.scheduleEvent.eventLesson:nth-of-type(even){background:#dbeafe!important;border-left-color:#2563eb!important}
@media(max-width:750px){
 #calendarGrid{width:100%!important;display:block!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}
 #calendarGrid .weekSchedule{width:100%!important;min-width:0!important}
 .timeCorner,.timeAxis{width:48px!important;flex-basis:48px!important}
 .weekDay{padding:8px 2px!important;font-size:10px!important}.weekDay b{font-size:15px!important}
 .weekCol{height:960px!important}
 .scheduleEvent{padding:5px 4px!important;font-size:10px!important;border-left-width:3px!important}.scheduleEvent b{font-size:10px!important}.scheduleEvent span{font-size:10px!important}.scheduleEvent small{font-size:8px!important}
}
@media(max-width:420px){
 .timeCorner,.timeAxis{width:44px!important;flex-basis:44px!important}.timeLabel{font-size:9px!important;padding-right:4px!important}
 .weekDay{font-size:9px!important}.weekDay b{font-size:14px!important}
 .weekCol{height:960px!important}.scheduleEvent{padding:4px 3px!important}.scheduleEvent b,.scheduleEvent span{font-size:9px!important}.scheduleEvent small{font-size:7px!important}
}


/* ZNR Schedule Upgrade 10 — larger, richer mobile timetable */
@media screen and (max-width:750px){
  #calendarGrid{overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important}
  #calendarGrid .weekSchedule{min-width:720px!important;width:720px!important;max-width:none!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,92px)!important}
  #calendarGrid .timeCorner,#calendarGrid .timeAxis{width:50px!important;flex-basis:50px!important}
  #calendarGrid .weekDay{font-size:11px!important;padding:10px 2px!important;min-height:52px!important}
  #calendarGrid .weekDay b{font-size:17px!important;margin-top:3px!important}
  #calendarGrid .weekCol{height:960px!important;min-width:92px!important;background:repeating-linear-gradient(to bottom,#fff 0,#fff 55px,#d9e2ef 56px,#fff 57px)!important}
  #calendarGrid .todayCol{background-color:#eef6ff!important}
  #calendarGrid .scheduleEvent{border-radius:9px!important;padding:6px 6px 5px!important;font-size:11px!important;border-left-width:4px!important;box-shadow:0 2px 6px rgba(23,32,51,.16)!important}
  #calendarGrid .scheduleEvent b{font-size:11px!important;line-height:1.15!important}
  #calendarGrid .scheduleEvent span{font-size:11px!important;line-height:1.15!important;margin-top:3px!important}
  #calendarGrid .scheduleEvent small{font-size:9px!important;line-height:1.1!important;margin-top:3px!important}
  #calendarGrid .scheduleEvent.eventLesson:nth-of-type(odd){background:#bbf7d0!important;border-left-color:#16a34a!important}
  #calendarGrid .scheduleEvent.eventLesson:nth-of-type(even){background:#bfdbfe!important;border-left-color:#2563eb!important}
  #calendarGrid .scheduleEvent.eventTest{background:#fed7aa!important;border-left-color:#ea580c!important}
}
@media screen and (max-width:420px){
  #calendarGrid .weekSchedule{min-width:720px!important;width:720px!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,92px)!important}
  #calendarGrid .weekDay{font-size:11px!important}
  #calendarGrid .weekDay b{font-size:17px!important}
  #calendarGrid .scheduleEvent b,#calendarGrid .scheduleEvent span{font-size:11px!important}
  #calendarGrid .scheduleEvent small{font-size:9px!important}
}

/* ZNR Schedule 2.0 */
.scheduleToolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.calendarNav,.calendarViews{display:flex;gap:6px}.calendarViews .activeView{background:#1769ff;color:#fff;border-color:#1769ff}.weekDay{cursor:pointer}.quickSlot{position:absolute;left:0;right:0;z-index:0;cursor:pointer}.quickSlot:hover{background:rgba(23,105,255,.06)}.scheduleEvent{z-index:3}.eventBooked{background:#bfdbfe!important;border-left-color:#2563eb!important}.eventCompleted{background:#bbf7d0!important;border-left-color:#16a34a!important}.eventCancelled{background:#fecaca!important;border-left-color:#dc2626!important;opacity:.82}.eventTest{background:#fed7aa!important;border-left-color:#ea580c!important}.dayTitle{display:flex;justify-content:space-between;align-items:center;padding:8px 2px 10px;font-size:15px}.monthCalendar{background:#fff;border:1px solid #d8dee8;border-radius:14px;overflow:hidden}.monthWeekdays,.monthGrid{display:grid;grid-template-columns:repeat(7,1fr)}.monthWeekdays>div{padding:10px 6px;background:#f7f9fc;border-right:1px solid #e5eaf1;border-bottom:1px solid #d8dee8;font-size:12px;font-weight:800;text-align:center}.monthCell{min-height:110px;padding:6px;border-right:1px solid #e5eaf1;border-bottom:1px solid #e5eaf1;cursor:pointer;background:#fff}.monthCell.outside{background:#f8fafc;color:#98a2b3}.monthCell.monthToday{background:#eef6ff}.monthCellHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.monthCellHead button{border:0;background:#eef2ff;color:#1769ff;border-radius:6px;width:24px;height:24px;cursor:pointer}.monthEvent{font-size:11px;line-height:1.2;border-left:3px solid #2563eb;border-radius:5px;padding:4px 5px;margin:3px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#bfdbfe}.monthEvent.eventCompleted{border-left-color:#16a34a;background:#bbf7d0!important}.monthEvent.eventCancelled{border-left-color:#dc2626;background:#fecaca!important}.monthEvent.eventTest{border-left-color:#ea580c;background:#fed7aa!important}.monthEvent b{margin-right:3px}.monthCalendar + *{margin-top:12px}@media(max-width:750px){.scheduleToolbar{gap:6px}.scheduleToolbar .calendarNav,.scheduleToolbar .calendarViews{flex:1}.scheduleToolbar .calendarNav button,.scheduleToolbar .calendarViews button{flex:1;padding:9px 6px;font-size:11px}.scheduleToolbar>#addLesson{width:100%}.scheduleToolbar>#calRange{width:100%;text-align:center}.monthCalendar{min-width:650px}.monthGrid{min-width:650px}.monthWeekdays{min-width:650px}.monthCell{min-height:90px}.monthEvent{font-size:10px;padding:3px}.dayTitle{font-size:14px}}

/* ZNR Schedule Upgrade 12 — refined mobile proportions + stronger navigation */
#nav button{font-weight:800!important;letter-spacing:.1px!important}
@media(max-width:750px){
  #nav{gap:3px!important;padding:5px 6px!important}
  #nav button{font-weight:800!important;padding:8px 10px!important;font-size:12px!important}
  #calendarGrid .weekSchedule{min-width:680px!important;width:680px!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,86px)!important}
  #calendarGrid .weekCol{min-width:86px!important}
  .monthCalendar,.monthGrid,.monthWeekdays{min-width:610px!important}
  .monthCell{min-height:82px!important;padding:5px!important}
  .monthWeekdays>div{padding:8px 4px!important;font-size:11px!important}
  .monthEvent{font-size:9px!important;padding:3px 4px!important}
}

/* ZNR Schedule Upgrade 13 — compact week/day timetable and stronger booking visibility */
@media screen and (max-width:750px){
  #calendarGrid{overflow-x:auto!important;overflow-y:hidden!important}
  #calendarGrid .weekSchedule{min-width:610px!important;width:610px!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,80px)!important}
  #calendarGrid .timeCorner,#calendarGrid .timeAxis{width:50px!important;flex-basis:50px!important}
  #calendarGrid .weekDay{padding:8px 2px!important;font-size:10px!important;min-height:48px!important}
  #calendarGrid .weekDay b{font-size:15px!important}
  #calendarGrid .weekCol{height:800px!important;min-width:80px!important;background:repeating-linear-gradient(to bottom,#fff 0,#fff 49px,#dbe3ee 50px,#fff 51px)!important}
  #calendarGrid .weekBody{max-height:560px!important}
  #calendarGrid .timeLabel{font-size:9px!important;height:50px!important;padding-top:3px!important}
  #calendarGrid .scheduleEvent{border-radius:8px!important;padding:4px 4px 3px!important;font-size:9px!important;border-left-width:3px!important;box-shadow:0 2px 5px rgba(23,32,51,.14)!important}
  #calendarGrid .scheduleEvent b{font-size:9px!important;line-height:1.1!important}
  #calendarGrid .scheduleEvent span{font-size:9px!important;line-height:1.1!important;margin-top:2px!important}
  #calendarGrid .scheduleEvent small{font-size:7px!important;line-height:1.05!important;margin-top:2px!important}
  #calendarGrid .eventBooked{background:#bfdbfe!important;border-left-color:#2563eb!important}
  #calendarGrid .eventCompleted{background:#bbf7d0!important;border-left-color:#16a34a!important}
  #calendarGrid .eventCancelled{background:#fecaca!important;border-left-color:#dc2626!important}
  #calendarGrid .eventTest{background:#fed7aa!important;border-left-color:#ea580c!important}
}
@media screen and (max-width:420px){
  #calendarGrid .weekSchedule{min-width:590px!important;width:590px!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,77px)!important}
  #calendarGrid .weekCol{min-width:77px!important}
  #calendarGrid .scheduleEvent{padding:3px!important}
  #calendarGrid .scheduleEvent b,#calendarGrid .scheduleEvent span{font-size:8.5px!important}
  #calendarGrid .scheduleEvent small{font-size:6.5px!important}
}
/* Make the day view use the screen width while keeping the timetable compact */
@media screen and (max-width:750px){
  .dayCalendar #calendarGrid .weekSchedule{min-width:0!important;width:100%!important}
  .dayCalendar #calendarGrid .weekDays,.dayCalendar #calendarGrid .weekColumns{grid-template-columns:minmax(0,1fr)!important}
  .dayCalendar #calendarGrid .weekCol{min-width:0!important}
}


/* ZNR Schedule Upgrade 14 — visible mobile week-view refinement + cache-bust */
@media screen and (max-width:750px){
  /* Keep the whole week visible instead of forcing a wide 680px canvas */
  #calendarGrid{overflow-x:hidden!important;width:100%!important}
  #calendarGrid .weekSchedule{width:100%!important;min-width:0!important;max-width:none!important}
  #calendarGrid .weekDays,#calendarGrid .weekColumns{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  #calendarGrid .timeCorner,#calendarGrid .timeAxis{width:42px!important;flex-basis:42px!important}
  #calendarGrid .weekDay{padding:7px 1px!important;font-size:9px!important;line-height:1.05!important}
  #calendarGrid .weekDay b{font-size:13px!important;display:block!important;margin-top:2px!important}
  #calendarGrid .weekDay small{font-size:7px!important}
  #calendarGrid .weekCol{min-width:0!important;height:720px!important;background:repeating-linear-gradient(to bottom,#fff 0,#fff 44px,#d9e2ef 45px,#fff 46px)!important}
  #calendarGrid .weekBody{max-height:540px!important}
  #calendarGrid .timeLabel{height:45px!important;font-size:8px!important;padding:3px 3px 0 0!important}
  #calendarGrid .scheduleEvent{padding:4px 2px!important;border-radius:7px!important;border-left-width:3px!important}
  #calendarGrid .scheduleEvent b,#calendarGrid .scheduleEvent span{font-size:8px!important;line-height:1.05!important}
  #calendarGrid .scheduleEvent small{font-size:6.5px!important;line-height:1!important}
}
@media screen and (max-width:420px){
  #calendarGrid .timeCorner,#calendarGrid .timeAxis{width:39px!important;flex-basis:39px!important}
  #calendarGrid .weekDay{font-size:8px!important}
  #calendarGrid .weekDay b{font-size:12px!important}
  #calendarGrid .weekCol{height:720px!important}
  #calendarGrid .scheduleEvent b,#calendarGrid .scheduleEvent span{font-size:7.5px!important}
}

/* ZNR Schedule Upgrade 15 — mobile month view horizontal scrolling */
@media screen and (max-width:750px){
  .calendarCard{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important}
  #calendarGrid.monthCalendarGrid{display:block!important;width:680px!important;min-width:680px!important;max-width:none!important;overflow:visible!important}
  #calendarGrid.monthCalendarGrid .monthCalendar{width:680px!important;min-width:680px!important;max-width:none!important}
  #calendarGrid.monthCalendarGrid .monthWeekdays,#calendarGrid.monthCalendarGrid .monthGrid{width:680px!important;min-width:680px!important;grid-template-columns:repeat(7,1fr)!important}
  #calendarGrid.monthCalendarGrid .monthCell{min-height:86px!important}
}
@media screen and (max-width:420px){
  #calendarGrid.monthCalendarGrid,#calendarGrid.monthCalendarGrid .monthCalendar{width:630px!important;min-width:630px!important}
  #calendarGrid.monthCalendarGrid .monthWeekdays,#calendarGrid.monthCalendarGrid .monthGrid{width:630px!important;min-width:630px!important}
}

/* ZNR Student Management 2.0 */
.studentProfileHeader{display:flex;align-items:center;gap:14px;margin-bottom:14px}.studentAvatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f0ff;color:#1769ff;font-size:25px;font-weight:800}.studentProfileTitle h2{margin:0 0 4px}.studentProfileTitle .badge{display:inline-block;margin-top:7px}.studentQuickActions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.studentStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.studentStats .card{min-width:0}.studentStats .stat{font-size:22px}.studentDue{color:#991b1b}.studentInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.detailLine{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.detailLine:last-child{border-bottom:0}.detailLine span{color:var(--muted)}.detailLine b{text-align:right;overflow-wrap:anywhere}.nextBox{padding:10px 12px;background:#f7f9fc;border-radius:10px;margin:8px 0}.nextBox b,.nextBox span,.nextBox small{display:block}.nextBox span{margin-top:3px}.nextBox small{margin-top:3px;color:var(--muted)}.studentHistoryCard{margin-top:12px}.studentHistoryCard h3{margin-top:0}.studentHistoryRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.studentHistoryRow:last-child{border-bottom:0}.studentHistoryRow>div{min-width:0}.studentHistoryRow b,.studentHistoryRow .muted{display:block;overflow-wrap:anywhere}.studentHistoryRow button{flex-shrink:0}.studentNotes{margin-top:12px}.studentNotes h3{margin-top:0}
@media(max-width:750px){.studentStats{grid-template-columns:1fr 1fr;gap:8px}.studentInfoGrid{grid-template-columns:1fr;gap:8px}.studentProfileHeader{gap:10px}.studentAvatar{width:50px;height:50px;font-size:22px}.studentQuickActions button{flex:1 1 calc(50% - 8px)}.studentHistoryRow{align-items:flex-start}.studentHistoryRow button{padding:8px 10px;font-size:12px}.studentStats .card{padding:10px}.studentStats .stat{font-size:20px}}

.studentProgress{margin-bottom:12px;padding:14px 16px}.progressTop{display:flex;justify-content:space-between;align-items:center;gap:16px}.studentProgress b{display:block;font-size:18px;margin-top:3px}.progressMeta{display:flex;gap:18px;color:var(--muted);font-size:13px;text-align:right}.progressBar{height:8px;background:#edf0f4;border-radius:999px;overflow:hidden;margin-top:12px}.progressBarFill{height:100%;border-radius:999px;background:var(--accent);transition:width .2s ease}.rowActions{display:flex;gap:6px;align-items:center;flex-shrink:0}.successBtn{border:1px solid #b7e4c7;background:#e9f9ef;color:#176b35;border-radius:9px;padding:8px 10px;font-weight:700;cursor:pointer}.sectionCount{font-size:12px;color:var(--muted);font-weight:600;margin-left:5px}.testNext{border-left:4px solid #f59e0b}
@media(max-width:750px){.progressTop{display:block}.progressMeta{justify-content:space-between;text-align:left;margin-top:8px;gap:8px}.rowActions{flex-direction:column;align-items:stretch}.rowActions button{width:100%}.studentQuickActions button{flex:1 1 calc(50% - 8px)}}

/* ZNR Student Progress 2.2 — instructor progress tracking */
.progressDetails{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f4}.progressDetails>div{display:flex;flex-direction:column;gap:3px;min-width:0}.progressDetails b{font-size:13px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.studentNotes{line-height:1.5}@media(max-width:750px){.progressDetails{grid-template-columns:1fr;gap:8px}.progressDetails b{font-size:12px}}

/* ZNR STUDENT PROGRESS 2.4 - clearer progress card */
.studentProgress{padding:16px 18px!important;margin-bottom:12px}.progressHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.progressHeading b{display:block;font-size:20px;margin-top:4px}.progressPercent{font-size:18px;font-weight:800;color:var(--accent)}.progressBar{height:12px!important;background:#e5e7eb!important;border-radius:999px!important;overflow:hidden;margin-top:12px!important}.progressBarFill{height:100%;min-width:4px;background:var(--accent)!important;border-radius:999px;transition:width .25s ease}.progressMeta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;margin-top:8px}.progressDetails{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f4}.progressDetails>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:5px;min-width:0}.progressDetails b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.progressNotes{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;line-height:1.5}.progressNotes .muted{display:block;margin-bottom:5px}.progressNotes div{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:750px){.studentProgress{padding:14px!important}.progressHeading b{font-size:18px}.progressPercent{font-size:16px}.progressMeta{font-size:12px}.progressDetails{grid-template-columns:1fr;gap:8px}.progressDetails>div{padding:10px}.progressNotes{font-size:13px}}

/* ZNR Schedule 3.2 — drag and drop */
.draggableLesson{cursor:grab}.draggableLesson:active{cursor:grabbing}.draggingLesson{opacity:.55;transform:scale(.98)}.dropTarget{outline:2px dashed var(--accent);outline-offset:-3px}

/* Schedule 3.5 - student balance on lesson cards */
.eventBalance,.listBalance{font-weight:700}.dueBalance{color:#b91c1c}.paidBalance{color:#15803d}.scheduleEvent .eventBalance{display:inline-block;margin-top:2px}.lesson .listBalance{font-size:13px}

.lessonNotePreview{display:inline;overflow-wrap:anywhere}.formgrid textarea{min-height:78px;resize:vertical}.lessonNotesBlock{margin-top:6px}

/* Schedule 3.8 - quick payment panel */
.paymentStudentSummary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc}.paymentStudentSummary>div{display:flex;flex-direction:column;gap:4px}.paymentStudentSummary b{font-size:16px}.paymentStudentSummary strong{font-size:18px}.dueText{color:#b91c1c}.paidText{color:#15803d}.paymentQuickAmounts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.paymentQuickAmounts button{min-height:40px}@media(max-width:650px){.paymentStudentSummary{grid-template-columns:1fr}.paymentQuickAmounts{align-items:stretch}.paymentQuickAmounts button{flex:1}}


/* ZNR Payment 3.9 - confirmation and receipt */
.paymentConfirmation{text-align:left}.successIcon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#15803d;font-size:28px;font-weight:800;margin-bottom:10px}.receiptCard{display:grid;gap:0;margin-top:16px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#f8fafc}.receiptCard>div{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid #e5e7eb}.receiptCard>div:last-child{border-bottom:0}.receiptCard b,.receiptCard strong{text-align:right}.receiptNote{align-items:flex-start!important;flex-direction:column}.paymentConfirmation .actions{justify-content:flex-end;margin-top:16px}

.paymentReminder{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:12px;padding:14px 16px;margin:12px 0;color:#7c2d12}.paymentReminder b{display:block;font-size:15px}.paymentReminder span{display:block}.paymentReminderAmount{font-size:20px;font-weight:800;white-space:nowrap}@media(max-width:750px){.paymentReminder{align-items:flex-start}.paymentReminderAmount{font-size:18px}}

.reminderRow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}.reminderRow:last-child{border-bottom:0}.reminderRow b,.reminderRow .muted{display:block}.portalReminderItem{padding:12px 0;border-bottom:1px solid var(--border)}.portalReminderItem:last-child{border-bottom:0}.portalReminderItem b{display:block;margin-bottom:4px}.portalReminderItem span{color:var(--muted);font-size:13px}@media(max-width:750px){.reminderRow{align-items:flex-start;flex-direction:column}}
