/* PRESKITA — schedule list responsive UI */
.schedule-card .schedule-list{max-height:min(52vh,560px);overflow-y:auto}
.schedule-card .schedule-item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;min-height:64px;border-bottom:1px solid #eeeaf3}
.schedule-card .schedule-day{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.schedule-card .schedule-day b{font-size:14px;line-height:1.35;white-space:nowrap;font-weight:800}
.schedule-card .schedule-day span{font-size:12px;line-height:1.4;white-space:nowrap;color:var(--muted)}
.schedule-card .schedule-main{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(80px,.45fr);align-items:center;column-gap:18px;min-width:0}
.schedule-card .schedule-main strong,.schedule-card .schedule-main span,.schedule-card .schedule-main small{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-card .schedule-main strong{font-size:14px;line-height:1.4;font-weight:800;color:var(--text)}
.schedule-card .schedule-main span{font-size:13px;line-height:1.4;color:var(--text)}
.schedule-card .schedule-main small{font-size:12px;line-height:1.4;color:var(--muted)}
.schedule-card .schedule-item button{min-height:40px;padding:8px 12px;font-size:14px;line-height:1.2;white-space:nowrap;border-radius:8px}
@media(max-width:800px){.schedule-card .schedule-item{grid-template-columns:76px minmax(0,1fr) auto;gap:10px;padding:12px;min-height:68px}.schedule-card .schedule-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}.schedule-card .schedule-main small{display:none}}
@media(max-width:560px){
  /* Portrait: give every schedule item enough vertical space for day, subject, teacher and time. */
  .schedule-card .schedule-item{
    grid-template-columns:24px minmax(0,1fr) 120px;
    grid-template-rows:auto auto;
    align-items:start;
    gap:6px 10px;
    padding:14px 16px;
    min-height:124px;
    height:auto;
  }
  .schedule-card .schedule-item>input[type="checkbox"]{
    grid-column:1;
    grid-row:1 / span 2;
    margin-top:7px;
  }
  .schedule-card .schedule-day{
    grid-column:2;
    grid-row:1;
    flex-direction:row;
    align-items:center;
    gap:7px;
    min-height:20px;
  }
  .schedule-card .schedule-day b{font-size:14px;line-height:1.35}
  .schedule-card .schedule-day span{font-size:12px;line-height:1.4}
  .schedule-card .schedule-main{
    grid-column:2;
    grid-row:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    min-width:0;
    width:100%;
  }
  .schedule-card .schedule-main strong,
  .schedule-card .schedule-main span,
  .schedule-card .schedule-main small{
    display:block;
    width:100%;
    min-width:0;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.35;
  }
  .schedule-card .schedule-main strong{font-size:14px}
  .schedule-card .schedule-main span{font-size:13px}
  .schedule-card .schedule-main small{font-size:12px;color:var(--muted)}
  .schedule-card .schedule-item button{
    grid-column:3;
    grid-row:1 / span 2;
    align-self:center;
    justify-self:stretch;
    width:120px;
    min-height:40px;
    padding:8px 8px;
    font-size:14px;
    line-height:1.2;
  }
}
