/* Shared readable lesson states. Numbers never contain time ranges. */
body .student-day-lessons .student-lesson{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;min-height:62px!important;padding:12px!important;margin:3px 0!important;border-radius:8px!important;border:0!important;border-bottom:1px solid #ecf1f8!important;}
body .student-day-lessons .student-lesson__number{width:32px!important;height:34px!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-radius:8px!important;background:#f0f5fc;font-size:19px!important;line-height:1!important;color:#2b4b76;}
body .student-day-lessons .student-lesson__body{padding:0!important;min-width:0!important;}
body .student-day-lessons .student-lesson__body>strong{font-size:16px!important;line-height:1.3!important;font-weight:700!important;overflow-wrap:anywhere;}
body .student-lesson__meta{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:3px;margin-top:5px!important;color:#506889!important;font-size:12px!important;line-height:1.35!important;}
body .student-lesson__meta .student-lesson__time{position:static!important;display:inline!important;width:auto!important;font-size:12px!important;line-height:1.35!important;margin:0!important;color:#536d8e!important;font-weight:500!important;white-space:nowrap!important;font-variant-numeric:tabular-nums;}
.student-lesson__room{font-size:12px;line-height:1.35;overflow-wrap:anywhere;}
body .student-lesson__previous{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#687a91;text-decoration:none!important;overflow-wrap:anywhere;}
body .student-day-lessons .student-lesson__badge{display:inline-block!important;position:static!important;margin:6px 0 0!important;min-height:0!important;padding:2px 6px!important;border-radius:4px!important;font-size:10px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.25!important;}
body .student-day-lessons .student-lesson.cancelled{background:#fff1f4!important;}.student-day-lessons .student-lesson.cancelled .student-lesson__body>strong{color:#993c50!important;}.student-day-lessons .student-lesson.cancelled .student-lesson__number{background:#f8e3e8!important;}
body .student-day-lessons .student-lesson.changed{background:#f1f6ff!important;}body .student-day-lessons .student-lesson.room{background:#fff9e7!important;}body .student-day-lessons .student-lesson.added{background:#eff9f3!important;}
body .student-day-card{border-radius:12px!important;box-shadow:0 3px 12px #17335d04!important;overflow:hidden;}
body .student-day-card__head{padding:15px 16px!important;gap:10px!important;align-items:start!important;}
body .student-day-card__head h3{font-size:20px!important;line-height:1.25!important;overflow-wrap:anywhere;}
body .student-day-lessons{padding:5px 10px 10px!important;}
body .student-change-summary{gap:4px;flex-wrap:wrap;}
body .student-change-pill{font-size:10px!important;min-height:22px!important;padding:3px 7px!important;}
body .student-lesson__old,.class-change-row del{text-decoration:none!important;}
@media(max-width:600px){body .student-day-card__head h3{font-size:18px!important;}body .student-day-card__head{padding:12px!important;flex-wrap:wrap!important;}body .student-day-lessons{padding:4px 6px 8px!important;}body .student-day-lessons .student-lesson{padding:10px 8px!important;min-height:60px!important;gap:10px!important;}body .student-day-lessons .student-lesson__body>strong{font-size:15px!important;}body .student-day-card__head .section-kicker{font-size:10px!important;}}
/* Public teacher page: same table hierarchy as the editor; no change to schedule logic. */
.staff-compact .staff-shell{max-width:1740px;width:calc(100% - 28px);}.staff-compact .staff-page{padding:15px 0 25px;}
.staff-compact .staff-hero{display:flex;align-items:center;justify-content:space-between;padding:0;margin-bottom:12px;gap:15px;background:none;border:0;box-shadow:none;}
.staff-compact .staff-hero .eyebrow{display:none;}.staff-compact .staff-hero h1{font-size:24px;margin:0 0 5px;line-height:1.2;}.staff-compact .staff-hero p{font-size:12px;margin:0;color:#6b7d94;}.staff-compact .staff-hero__badge{font-size:10px;padding:6px 9px;}
.staff-compact .school-official-title{display:none;}.staff-compact .topbar .brand__logo{height:36px;width:36px;}.staff-compact .topbar__inner{min-height:62px;padding-top:8px;padding-bottom:8px;}
.staff-compact .staff-controls{padding:10px;border-radius:8px;box-shadow:none;gap:10px;}.staff-compact .staff-field input,.staff-compact .staff-field select{min-height:34px;padding:6px 9px;font-size:12px;border-radius:6px;}.staff-compact .staff-field label{font-size:11px;}
.staff-compact .staff-status{font-size:12px;padding:7px;min-height:34px;}.staff-compact .staff-date-actions .button,.staff-compact .staff-actions .button{min-height:31px;font-size:11px;padding:6px 9px;}
.staff-personal{margin-top:8px;font-size:11px;color:#57718f;}.staff-personal>summary{cursor:pointer;padding:5px;}.staff-compact .staff-legend{font-size:10px;margin:8px 0;gap:12px;}
.staff-compact .staff-grid-card{border-radius:8px;box-shadow:none;}.staff-compact .staff-grid-scroll{max-height:calc(100dvh - 268px);min-height:260px;overflow:auto;}
.staff-compact .staff-grid{grid-template-columns:158px repeat(12,minmax(73px,1fr));min-width:1034px;width:100%;}.staff-grid-row{display:contents;}
.staff-compact .sg-head{padding:8px 2px;background:#f1f6fc;font-size:13px;}.staff-compact .sg-head small{display:block;margin-top:3px;font-size:9px;white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums;}
.staff-compact .sg-teacher{padding:8px;font-size:12px;line-height:1.35;background:#fbfdff;}.staff-compact .sg-teacher.changed{background:#f5f9ff;}
.staff-compact .sg-cell{min-height:74px;padding:6px 4px;line-height:1.2;gap:2px;}.staff-compact .sg-cell .cls{font-size:13px;font-weight:750;}.staff-compact .sg-cell .subj{font-size:11px;font-weight:500;margin:0;line-height:1.25;white-space:normal;overflow-wrap:anywhere;}.staff-compact .sg-cell .room{font-size:10px;font-weight:500;color:#526988;}
.staff-cell-state{display:block;font-size:9px;font-weight:700;color:#285dba;}.staff-cell-state.cancelled{color:#9f3e51;}.staff-cell-state.room{color:#8a6517;}.staff-cell-state.added{color:#2d7856;}
.staff-compact .sg-cell.cancelled{background:#fff1f4;}.staff-compact .sg-cell.changed{background:#edf5ff;}.staff-compact .sg-cell.room{background:#fff9e4;}.staff-compact .sg-cell.added{background:#ecf8f0;}
.staff-compact .sg-cell.cancelled .subj{color:#886b78;}.staff-compact .sg-cell .arrow{font-size:9px;white-space:normal;}.staff-compact .sg-cell .old{font-size:10px;text-decoration:none!important;}.staff-compact .staff-grid-row:hover>.sg-teacher{background:#e9f2ff;}
.staff-compact .sg-cell:before,.staff-compact .sg-cell:after{display:none!important;}.staff-compact .teacher-card del{text-decoration:none;}.staff-compact .teacher-card.cancelled{background:#fff1f4;}.staff-compact .teacher-card.cancelled h3{color:#963a4e;}
@media(max-width:760px){.staff-compact .staff-shell{width:calc(100% - 20px);}.staff-compact .staff-hero{display:block;}.staff-compact .staff-hero__badge{display:none;}.staff-compact .staff-hero h1{font-size:20px;}.staff-compact .staff-field input,.staff-compact .staff-field select{font-size:16px;min-height:42px;}.staff-compact .staff-mobile{margin-top:12px;}.staff-compact .teacher-card{border-radius:8px;padding:11px;}.staff-compact .teacher-card h3{font-size:15px;line-height:1.3;}.staff-compact .teacher-card p{font-size:12px;line-height:1.4;}.staff-compact .teacher-card__lesson{width:34px;height:36px;min-width:34px;font-size:19px;border-radius:7px;}}
/* TV retains its timing, page order, filtering and dimensions. Only old-value typography changes. */
.tv-previous{display:block;font-size:.72em;font-weight:500;line-height:1.25;color:#746677;text-decoration:none!important;overflow-wrap:anywhere;}
.lesson.cancelled .tv-previous{font-size:.88em;color:#98515d;}
@media print{.staff-compact .staff-grid-scroll{max-height:none;overflow:visible;}.staff-compact .staff-grid{min-width:0;}.staff-compact .staff-grid-card{box-shadow:none;}}

/* Day title and status counts stay short even after legacy mobile styles load. */
body .student-day-card .student-day-card__head{background:#f7faff!important;gap:6px!important;padding:12px 14px!important;min-height:0!important;align-items:flex-start!important;}
body .student-day-card .student-day-card__head h3{font-size:17px!important;line-height:1.3!important;margin:3px 0!important;}
body .student-day-card .student-change-summary{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:4px!important;margin-top:2px!important;}
body .student-day-card .student-change-pill{min-height:20px!important;padding:2px 6px!important;font-size:10px!important;}
@media(max-width:600px){body .student-day-card .student-day-card__head{display:block!important;padding:10px 12px!important;}body .student-day-card .student-day-card__head h3{font-size:16px!important;}}
