/* Mobile layout: desktop colours and typography are inherited. */
.shell>main{min-width:0}
@media (max-width:850px){
  .shell,.academy-shell{grid-template-columns:minmax(0,1fr)}
  main,.academy-workspace,.academy-content,.panel,.card,.entry,.course{min-width:0}
  .shell>aside nav,.academy-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;overflow:visible}
  .shell>aside a,.academy-sidebar nav a{margin:0;padding:12px;white-space:normal;overflow-wrap:anywhere}
  .academy-sidebar small{padding-bottom:12px}
  .sidebar-exit{margin:14px 0 0}
  .academy-top{flex-wrap:wrap}
  .role-pill{white-space:normal;max-width:100%}
}
@media (max-width:600px){
  main{padding:20px 12px}
  main.layout{margin:18px auto;padding:0 12px;gap:16px;grid-template-columns:minmax(0,1fr)}
  .panel,main>section{padding:18px}
  h1{font-size:27px;overflow-wrap:anywhere}
  h2,h3,p,.meta,.notice,.message,.entry,.course{overflow-wrap:anywhere}
  input,select,textarea{max-width:100%;min-width:0;font-size:16px}
  button,.action,.staffLink{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px}
  .grid{grid-template-columns:minmax(0,1fr)}
  .overview-course{display:block;min-width:0;max-width:100%;margin:10px 0}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accordion-body{padding:8px 12px 16px}
  .editor-overlay{padding:10px}
  .editor-modal{max-height:calc(100dvh - 20px)}
  .row-fields{grid-template-columns:minmax(0,1fr)}
  .row-fields label:first-child{grid-column:auto}
  .cal-header h2{min-width:0;margin:0;font-size:20px}
  .summary-scroll,.calendar-scroll{max-width:100%;overflow-x:auto}
  .academy-actions{flex-direction:column;align-items:stretch}
  .academy-actions a,.academy-actions button{text-align:center}
  .academy-quick{padding:18px}
  .academy-stats{gap:10px}
  .academy-stats>div{padding:14px;min-height:120px;overflow-wrap:anywhere}
  body.academy-logged #message{position:static;margin:12px;padding:8px 12px}
  body.academy-logged.student-mode .academy-content{padding:16px 12px}
  body.academy-logged.student-mode .academy-top{padding:22px 18px;margin-top:60px}
  body.academy-logged.student-mode #courses{grid-template-columns:minmax(0,1fr)}
  body.academy-logged.student-mode #courses .course{padding:18px}
  body.academy-logged.student-mode #certificates,body.academy-logged.student-mode #studentContacts{padding:18px}
  body.academy-logged.student-mode .academy-sidebar{width:min(300px,90vw);height:100dvh;min-height:0;overflow-y:auto}
  body.academy-logged.student-mode .academy-sidebar nav{grid-template-columns:minmax(0,1fr)}
  .student-menu-toggle{top:12px;right:12px}
  #videos{grid-template-columns:minmax(0,1fr)}
  #video-panel>button{margin:4px 2px;padding:12px}
  #course-summary{max-width:100%;overflow-x:auto}
}

/* Calendar agenda on phones and tablets: no sideways month grid. */
.mobile-day-label{display:none}
@media(max-width:1100px){
  .calendar-panel .calendar-scroll{overflow-x:visible}
  .month-grid{min-width:0;grid-template-columns:minmax(0,1fr);gap:10px}
  .month-grid>.weekday,.month-grid>.day-cell.outside{display:none}
  .month-grid>.day-cell{min-width:0;min-height:64px;padding:14px;gap:8px}
  .month-grid .day-number{margin-bottom:0}
  .month-grid .desktop-day-label{display:none}
  .month-grid .mobile-day-label{display:block;font-size:16px;text-transform:capitalize}
  .month-grid .lesson-chip{font-size:14px;line-height:1.5;padding:12px;min-height:44px}
  .month-grid .day-cell:not(:has(.lesson-chip)):after{content:"Nessuna lezione programmata";font-size:13px;color:#527393}
  .month-grid .editable-day:not(:has(.lesson-chip)):after{content:"Tocca per programmare una lezione"}
  .calendar-panel .cal-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  .calendar-panel .cal-header h2{min-width:0;margin:0;text-align:center;font-size:21px}
  .calendar-panel .cal-header button{min-height:44px;padding:8px}
  .calendar-panel #todayBtn{grid-column:1/-1;justify-self:stretch}
}
