/* Final Admin layout fixes for actual rendered class names. */

/* Recurring schedules */
.schedule-table{width:100%;overflow-x:auto}
.schedule-table-head,.schedule-group-row{display:grid!important;grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) minmax(260px,1.7fr) minmax(140px,1fr) minmax(90px,.7fr) 70px;gap:16px;align-items:center;min-width:980px;box-sizing:border-box}
.schedule-table-head{padding:11px 24px;background:#fafbfc;border-bottom:1px solid #e8ebf0;color:#7b8493;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.schedule-group-row{padding:14px 24px;border-bottom:1px solid #edf0f4;font-size:13px;color:#39445a;background:#fff}.schedule-group-row:last-child{border-bottom:0}.schedule-group-row:hover{background:#fcfcff}.schedule-group-row>*{min-width:0}
.schedule-person b{display:block;color:#172033}.schedule-person small{display:block;margin-top:3px;color:#7b8596;font-size:11px}
.schedule-slots{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.schedule-slot-chip{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;padding:6px 8px;border:1px solid #e1e5ec;border-radius:7px;background:#fafbfc;color:#4d586b;font-size:11px;white-space:nowrap}.schedule-slot-chip b{color:#172033}
.schedule-group-row>div:nth-child(4) small{display:block;margin-top:3px;color:#687386;font-size:11px}.schedule-group-row .schedule-edit{width:max-content;justify-self:end}

/* Admin actual-class calendar */
.admin-calendar-page{display:grid;gap:18px;width:100%}.admin-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav .secondary-btn{min-width:40px}.admin-calendar-range{display:flex;align-items:baseline;gap:12px;min-width:0}.admin-calendar-range b{font-size:18px;color:#172033;white-space:nowrap}.admin-calendar-range span{color:#7b8596;font-size:12px}
.admin-calendar-panel{padding:14px;overflow-x:auto}.admin-calendar-grid-7{display:grid!important;grid-template-columns:repeat(7,minmax(130px,1fr));width:100%;min-width:910px}.admin-calendar-day-head{display:flex;flex-direction:column;gap:4px;padding:12px 10px;border-bottom:1px solid #e5e9ef;background:#fafbfc}.admin-calendar-day-head b{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#687386}.admin-calendar-day-head span{font-size:12px;color:#172033}.admin-calendar-day-head.today{background:#f1f2ff}.admin-calendar-day{min-height:360px;padding:8px;border-right:1px solid #edf0f4;background:#fff}.admin-calendar-day.today{background:#fcfcff}.admin-calendar-empty{padding:14px 6px;color:#9aa2af;font-size:11px;text-align:center}.admin-calendar-class{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0 0 7px;padding:9px;border:1px solid #dfe4eb;border-radius:9px;background:#fff;text-align:left;cursor:pointer;box-sizing:border-box}.admin-calendar-class b{font-size:12px;color:#172033}.admin-calendar-class span{margin-top:3px;font-size:12px;font-weight:700;color:#39445a;white-space:normal;overflow-wrap:anywhere}.admin-calendar-class small{margin-top:3px;font-size:10px;color:#7b8596;white-space:normal;overflow-wrap:anywhere}

/* Student table: compact, balanced typography and subtle row separation. */
.admin-student-table .admin-table-head,.admin-student-table .admin-table-row{grid-template-columns:minmax(0,2fr) minmax(0,.72fr) minmax(0,.62fr) minmax(0,.85fr) minmax(55px,.55fr) minmax(135px,1fr) minmax(130px,1fr);gap:10px;align-items:center;box-sizing:border-box}
.admin-student-table .admin-table-head{padding:9px 14px;font-size:10px;line-height:1.15;letter-spacing:.07em;color:#7b8493;font-weight:800;text-transform:uppercase;background:#f7f8fa;border-bottom:1px solid #e4e8ee}.admin-student-table .admin-table-row{min-height:52px;padding:7px 14px;background:#fbfcfd;border-bottom:1px solid #e8ebef;color:#39445a;font-size:12.5px;line-height:1.25}.admin-student-table .admin-table-row:nth-child(2n+1){background:#f7f9fb}.admin-student-table .admin-table-row:hover{background:#f1f4f7}.admin-student-table .admin-table-row>div{min-width:0;overflow:hidden}.admin-student-table .admin-table-row>div b{display:block;color:#172033;font-size:13px;font-weight:750;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-student-table .admin-table-row>div small{display:block;margin-top:2px;color:#7b8596;font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-student-table .admin-table-row>span{min-width:0;font-size:12px;line-height:1.2}.admin-student-table .student-scheduling-status{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-student-table .student-scheduling-status[data-status-kind="regular"]{color:#087443}.admin-student-table .student-scheduling-status[data-status-kind="trial"]{color:#b42318}.admin-student-table .student-scheduling-status[data-status-kind="retrial"]{color:#8a5a00}.admin-student-table .student-assigned-teacher{font-size:12px;color:#39445a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1100px){.schedule-table-head,.schedule-group-row{grid-template-columns:minmax(170px,1.2fr) minmax(140px,.9fr) minmax(240px,1.6fr) minmax(120px,.9fr) minmax(85px,.7fr) 64px}.admin-student-table .admin-table-head,.admin-student-table .admin-table-row{grid-template-columns:minmax(0,1.7fr) minmax(0,.7fr) minmax(0,.6fr) minmax(0,.8fr) 52px minmax(125px,1fr) minmax(120px,1fr)}}
@media(max-width:640px){.schedule-table-head,.schedule-group-row{min-width:980px}.admin-calendar-panel{overflow-x:auto}.admin-calendar-grid-7{min-width:910px}.admin-student-table{overflow-x:auto}.admin-student-table .admin-table-head,.admin-student-table .admin-table-row{min-width:800px}}

/* Long-list containment */
.admin-teacher-table{max-height:520px;overflow:auto}.admin-student-table{max-height:520px;overflow:auto}.admin-class-list{max-height:520px;overflow:auto}.admin-calendar-panel{max-height:650px;overflow:auto}.admin-calendar-day{max-height:none;overflow:visible}.admin-attendance-table{max-height:520px;overflow:auto}.admin-leave-table{max-height:520px;overflow:auto}.availability-table{max-height:520px;overflow:auto}.availability-teacher-items{max-height:360px;overflow:auto}.admin-activity-table{max-height:520px;overflow:auto}.review-table{max-height:520px;overflow:auto}.statement-table{max-height:420px;overflow:auto}.schedule-table{max-height:520px;overflow:auto}.admin-content:has(.trial-student-link) .admin-table{max-height:520px;overflow:auto}.admin-content:has(.records-page) .records-table{max-height:520px;overflow:auto}.admin-content:has(#reportsBody) .admin-dashboard-grid>.admin-panel:nth-child(2){max-height:520px;overflow:auto}.admin-announcement-list{max-height:520px;overflow:auto}.admin-users-table{max-height:520px;overflow:auto}.admin-content:has(.compensation-toolbar) .admin-table{max-height:520px;overflow:auto}

/* Teacher compensation table */
.compensation-table{display:block!important;width:100%;min-width:0;overflow-x:auto;box-sizing:border-box}.compensation-table .admin-table-head,.compensation-table .admin-table-row{display:grid!important;grid-template-columns:minmax(170px,1.55fr) minmax(125px,1.05fr) minmax(80px,.65fr) minmax(85px,.7fr) minmax(105px,.8fr) minmax(155px,1.2fr) minmax(75px,.6fr) 76px;gap:8px;align-items:center;box-sizing:border-box;min-width:980px}.compensation-table .admin-table-head{padding:8px 10px;background:#f7f8fa;border-bottom:1px solid #e4e8ee;color:#7b8493;font-size:10px;line-height:1.15;letter-spacing:.07em;text-transform:uppercase;font-weight:800}.compensation-table .admin-table-row{min-height:50px;padding:7px 10px;border-bottom:1px solid #edf0f4;background:#fff;color:#39445a;font-size:12px;line-height:1.2}.compensation-table .admin-table-row:last-child{border-bottom:0}.compensation-table .admin-table-row:hover{background:#fafbfc}.compensation-table .admin-table-row>div,.compensation-table .admin-table-row>span,.compensation-table .admin-table-head>*{min-width:0}.compensation-table .admin-table-row>div b{display:block;color:#172033;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compensation-table .admin-table-row>div small{display:block;margin-top:2px;color:#7b8596;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compensation-table .admin-table-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compensation-table .status-pill{display:block;text-align:center}.compensation-table .admin-table-row>button{justify-self:end;width:76px;min-width:76px;padding:6px 8px}

/* Incentive computation */
.compensation-summary-panel{margin-top:14px;padding:0;border:0;box-shadow:none;background:transparent}.compensation-summary-panel .admin-panel-head{margin-bottom:8px;padding:0}.compensation-summary-panel .admin-panel-head h3{margin:2px 0 3px;font-size:17px;color:#172033}.compensation-summary-panel .admin-panel-head p{margin:0;color:#687386;font-size:12px}.compensation-summary-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:8px}.compensation-summary-filters label{display:flex;flex-direction:column;gap:4px;color:#687386;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.compensation-summary-filters input{min-width:145px}.compensation-summary-filters button{height:38px}.compensation-total-table{width:100%;overflow-x:auto}.compensation-total-table .admin-table-head,.compensation-total-table .admin-table-row{display:grid!important;grid-template-columns:minmax(200px,1.6fr) minmax(115px,.8fr) minmax(125px,1fr) minmax(125px,1fr) minmax(135px,1fr);gap:8px;align-items:center;box-sizing:border-box;min-width:800px}.compensation-total-table .admin-table-head{padding:8px 10px;background:#f7f8fa;border-bottom:1px solid #e4e8ee;color:#7b8493;font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:800}.compensation-total-table .admin-table-row{min-height:48px;padding:7px 10px;border-bottom:1px solid #edf0f4;background:#fff;color:#39445a;font-size:12px}.compensation-total-table .admin-table-row>div{min-width:0}.compensation-total-table .admin-table-row>div b{display:block;color:#172033;font-size:13px;line-height:1.15}.compensation-total-table .admin-table-row>div small{display:block;margin-top:1px;color:#7b8596;font-size:10px}.compensation-total-table .incentive-total{font-weight:800}.compensation-total-table .compensation-grand-total{background:#f1f3f7;border-top:2px solid #d8dde6;border-bottom:0}.compensation-total-table .compensation-grand-total b{font-weight:850}.compensation-toolbar{gap:8px!important}.compensation-toolbar .select-input,.compensation-toolbar .date-input,.compensation-toolbar .search-input{min-height:40px}.compensation-toolbar .admin-note{margin-top:6px}.compensation-table{margin-top:8px}.compensation-total-table{margin-bottom:8px}

@media(max-width:640px){.admin-teacher-table,.admin-student-table,.admin-class-list,.admin-attendance-table,.admin-leave-table,.availability-table,.admin-activity-table,.review-table,.schedule-table,.admin-announcement-list,.admin-users-table{max-height:440px}.admin-calendar-panel{max-height:500px;overflow:auto}.admin-calendar-day{max-height:none;overflow:visible}.availability-teacher-items{max-height:300px}.statement-table{max-height:360px}.compensation-table{max-height:440px}.compensation-table .admin-table-head,.compensation-table .admin-table-row{min-width:980px}.compensation-total-table .admin-table-head,.compensation-total-table .admin-table-row{min-width:800px}.compensation-summary-filters input{min-width:135px}}
