/* Class Teacher analysis: requested card grids and Student Mix pie only. */
.qcm-class-analysis .qca-attendance-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 14px 10px;border:0;border-radius:0}
.qcm-class-analysis .qca-attendance-strip>.qca-kpi{min-height:86px;border:1px solid var(--qcm-line);border-radius:14px;box-shadow:var(--shadow-sm,0 5px 20px rgba(15,23,42,.05))}
.qcm-class-analysis .qca-attendance-strip>button.qca-kpi{appearance:none;font:inherit;text-align:left;cursor:pointer}
.qcm-class-analysis .qca-attendance-strip>button.qca-kpi:focus-visible{outline:2px solid #1769ff;outline-offset:2px}
.qcm-class-analysis .qca-attendance-strip>.qca-kpi:first-child{border-radius:14px}
.qcm-class-analysis .qca-attendance-state{min-height:86px;border:1px solid var(--qcm-line);border-radius:14px;background:var(--qcm-card);box-shadow:var(--shadow-sm,0 5px 20px rgba(15,23,42,.05))}
.qcm-class-analysis .qca-today-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 14px 14px;border:0;border-radius:0}
.qcm-class-analysis .qca-today-actions>.qca-teaching-row{border:1px solid var(--qcm-line);border-radius:14px;box-shadow:var(--shadow-sm,0 5px 20px rgba(15,23,42,.05))}
.qcm-class-analysis .qca-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.qcm-class-analysis .qca-summary-kpis>button.qca-kpi{appearance:none;font:inherit;text-align:center;cursor:pointer}
.qcm-class-analysis .qca-summary-kpis>button.qca-kpi:focus-visible{outline:2px solid #1769ff;outline-offset:2px}
.qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam{height:30px;gap:5px;padding:0 9px;border-radius:999px}
.qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam i{font-size:.68rem}
.qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam strong{display:inline;margin:0;font-size:.78rem;line-height:1}
.qca-attendance-sheet{height:calc(100dvh - 45px);max-height:calc(100dvh - 45px);display:flex;flex-direction:column;overflow:hidden}
.qca-attendance-sheet>[data-qca-attendance-body]{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden}
.qca-attendance-sheet>[data-qca-attendance-body]>.qca-sheet-content{min-height:0;flex:1;overflow:auto}
.qca-sheet-student>em.not-marked{background:#f1f5f9;color:#64748b}
.qca-attendance-page{gap:12px}.qca-attendance-page-head{position:relative;top:auto;overflow:hidden;border:1px solid var(--qcm-line);border-radius:16px;box-shadow:var(--shadow-sm,0 5px 20px rgba(15,23,42,.05))}.qca-attendance-page-head>span{width:34px}.qca-attendance-page-card{overflow:hidden;padding:0}.qca-attendance-page-card .qca-sheet-metrics{margin-top:12px}.qca-attendance-page-card>[data-qca-attendance-page-body]>.qca-sheet-content{padding-bottom:18px}
.qca-summary-sheet{height:calc(100dvh - 45px);max-height:calc(100dvh - 45px);display:flex;flex-direction:column;overflow:hidden}
.qca-summary-sheet .qca-summary-sheet-head{grid-template-columns:34px minmax(0,1fr) 34px}
.qca-summary-sheet .qca-summary-content{min-height:0;flex:1;overflow:auto;padding-top:12px}
.qca-teacher-list,.qca-attention-sheet-list{display:grid;gap:8px}
.qca-teacher-list>article,.qca-attention-sheet-list>article{min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--qcm-line);border-radius:12px;background:var(--qcm-card)}
.qca-teacher-list .qct-avatar,.qca-attention-sheet-list .qct-avatar{width:40px;height:40px;font-size:.62rem}
.qca-teacher-list article>div,.qca-attention-sheet-list article>div{min-width:0;display:grid;gap:3px}
.qca-teacher-list strong,.qca-attention-sheet-list strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.qca-teacher-list small,.qca-attention-sheet-list small{color:var(--text-soft,#64748b);font-size:.5rem}
.qca-teacher-list p,.qca-attention-sheet-list p{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 0}
.qca-teacher-list p b,.qca-attention-sheet-list p b,.qca-attention-sheet-list p em{padding:4px 7px;border-radius:999px;background:#eaf2ff;color:#1769ff;font-size:.47rem;font-style:normal;font-weight:850}
.qca-attention-sheet-list p b{background:#fff4e8;color:#c2410c}
.qca-attention-sheet-list p em{background:#f1f5f9;color:#475569}
.qca-status-list,.qca-student-group-list{display:grid;gap:8px}
.qca-status-list>article,.qca-student-group-list>article{min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--qcm-line);border-radius:11px;background:var(--qcm-card)}
.qca-status-list .qct-avatar,.qca-student-group-list .qct-avatar{width:36px;height:36px;font-size:.54rem}
.qca-status-list article>div,.qca-student-group-list article>div{min-width:0;display:grid;gap:3px}
.qca-status-list strong,.qca-student-group-list strong{overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.qca-status-list small,.qca-student-group-list small{overflow:hidden;color:var(--text-soft,#64748b);font-size:.48rem;text-overflow:ellipsis;white-space:nowrap}
.qca-status-list article>em,.qca-student-group-list article>em{padding:5px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.45rem;font-style:normal;font-weight:850;white-space:nowrap}
.qca-status-list article>em.approved,.qca-status-list article>em.updated{background:#dcfce7;color:#15803d}
.qca-status-list article>em.approval_pending,.qca-status-list article>em.pending{background:#fff4e8;color:#c2410c}
.qca-status-list article>em.returned{background:#fee2e2;color:#dc2626}
.qca-student-group-list article>em{background:#eaf2ff;color:#1769ff}
.qca-summary-section{margin-bottom:12px;padding:11px;border:1px solid var(--qcm-line);border-radius:13px;background:var(--qcm-card)}
.qca-summary-section:last-child{margin-bottom:0}
.qca-summary-section>h4{margin:0 0 10px;color:#0964ea;font-size:.64rem;letter-spacing:.06em}
.qca-average-table-wrap{overflow-x:auto;border:1px solid var(--qcm-line);border-radius:10px}
.qca-average-table{width:100%;min-width:620px;border-collapse:collapse;background:var(--qcm-card);font-size:.52rem;text-align:center}
.qca-average-table th,.qca-average-table td{min-width:48px;padding:7px 6px;border-right:1px solid var(--qcm-line);border-bottom:1px solid var(--qcm-line);white-space:nowrap}
.qca-average-table th:first-child{position:sticky;z-index:1;left:0;min-width:120px;background:var(--qcm-card);text-align:left}
.qca-average-table thead th{background:var(--qcm-soft);color:#334155;font-weight:900}
.qca-average-table thead th:first-child{z-index:2;background:var(--qcm-soft)}
.qca-average-table tr:last-child th,.qca-average-table tr:last-child td{border-bottom:0}
.qca-average-table th:last-child,.qca-average-table td:last-child{border-right:0}
.qca-fixed-line{overflow-x:auto}
.qca-fixed-line>div{position:relative;min-width:520px}
.qca-fixed-line svg{display:block;width:100%;height:164px;overflow:visible}
.qca-fixed-line svg line{stroke:var(--qcm-line);stroke-width:1}
.qca-fixed-line svg polyline{fill:none;stroke:#1769ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.qca-fixed-line svg circle{fill:var(--qcm-card);stroke:#1769ff;stroke-width:3}
.qca-fixed-line-green svg polyline{stroke:#159447}
.qca-fixed-line-green svg circle{stroke:#159447}
.qca-fixed-labels{position:relative;height:22px;margin:0 18px 0 24px;color:var(--text-soft,#64748b);font-size:.45rem;font-weight:800}
.qca-fixed-labels span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.qca-fixed-empty{position:absolute;top:70px;right:40px;left:40px;color:var(--text-soft,#64748b);font-size:.56rem;text-align:center}
.qca-subject-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.qca-subject-trend{min-width:0;padding:9px;border:1px solid var(--qcm-line);border-radius:11px;background:var(--qcm-soft)}
.qca-subject-trend h5{margin:0 0 4px;font-size:.58rem}
.qca-subject-trend .qca-fixed-line>div{min-width:430px}
.qca-subject-trend .qca-fixed-line svg{height:145px}
.qcm-class-analysis .qca-student-mix>div{display:block;padding:0 14px 14px}
.qcm-class-analysis .qca-mix-chart{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;padding:8px 14px 14px}
.qcm-class-analysis .qca-mix-pie{--qca-hostel:0%;position:relative;width:138px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#1769ff 0 var(--qca-hostel),#f59e0b var(--qca-hostel) 100%);box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.qcm-class-analysis .qca-mix-pie:before{position:absolute;inset:25%;border-radius:50%;background:var(--qcm-card);box-shadow:0 0 0 1px var(--qcm-line);content:""}
.qcm-class-analysis .qca-mix-pie>span{position:relative;z-index:1;display:grid;justify-items:center;gap:2px}
.qcm-class-analysis .qca-mix-pie strong{font-size:1.12rem;line-height:1}
.qcm-class-analysis .qca-mix-pie small{color:var(--text-soft,#64748b);font-size:.46rem;font-weight:800}
.qcm-class-analysis .qca-mix-legend{display:grid;gap:8px}
.qcm-class-analysis .qca-mix-legend button{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:10px 11px;border:1px solid var(--qcm-line);border-radius:12px;background:var(--qcm-soft);color:inherit;font:inherit;text-align:left;cursor:pointer}
.qcm-class-analysis .qca-mix-legend button>i{width:10px;height:10px;border-radius:50%;background:#1769ff}
.qcm-class-analysis .qca-mix-legend button>i.day-scholar{background:#f59e0b}
.qcm-class-analysis .qca-mix-legend button>span{min-width:0;display:grid;gap:2px}
.qcm-class-analysis .qca-mix-legend strong,.qcm-class-analysis .qca-mix-legend small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qcm-class-analysis .qca-mix-legend strong{font-size:.61rem}
.qcm-class-analysis .qca-mix-legend small{color:var(--text-soft,#64748b);font-size:.48rem}
.qcm-class-analysis .qca-mix-legend em{font-size:.82rem;font-style:normal;font-weight:900}
@media(max-width:599px){
  .qcm-class-analysis .qca-attendance-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 9px 8px}
  .qcm-class-analysis .qca-attendance-strip>.qca-kpi{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 6px;border:1px solid var(--qcm-line);border-radius:12px;text-align:center}
  .qcm-class-analysis .qca-attendance-strip>.qca-kpi>span{width:31px;height:31px;flex:0 0 auto;border-radius:10px;font-size:.7rem}
  .qcm-class-analysis .qca-attendance-strip>.qca-kpi small{min-height:2.2em;overflow:visible;font-size:.43rem;line-height:1.1;text-overflow:clip;white-space:normal}
  .qcm-class-analysis .qca-attendance-strip>.qca-kpi strong{font-size:1.18rem}
  .qcm-class-analysis .qca-attendance-state{position:relative;min-height:96px;display:grid;grid-template-columns:1fr;grid-template-rows:31px auto auto;align-content:center;align-items:start;gap:4px;padding:7px 6px;border:1px solid var(--qcm-line);border-radius:12px}
  .qcm-class-analysis .qca-attendance-state>i:first-child{width:31px;height:31px;font-size:.86rem}
  .qcm-class-analysis .qca-attendance-state span{gap:2px}
  .qcm-class-analysis .qca-attendance-state strong,.qcm-class-analysis .qca-attendance-state small{overflow:visible;text-overflow:clip;white-space:normal}
  .qcm-class-analysis .qca-attendance-state strong{font-size:.43rem;line-height:1.1}
  .qcm-class-analysis .qca-attendance-state small{font-size:.42rem;line-height:1.1}
  .qcm-class-analysis .qca-attendance-state>i:last-child{position:absolute;right:6px;bottom:7px;font-size:.46rem}
  .qcm-class-analysis .qca-today-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 9px 9px}
  .qcm-class-analysis .qca-today-actions>.qca-teaching-row{min-height:76px;grid-template-columns:36px minmax(0,1fr) 7px;gap:7px;padding:8px;border:1px solid var(--qcm-line);border-radius:12px}
  .qcm-class-analysis .qca-today-actions>.qca-teaching-row>span{width:36px;height:36px;border-radius:11px;font-size:.88rem}
  .qcm-class-analysis .qca-today-actions>.qca-teaching-row strong{font-size:.59rem}
  .qcm-class-analysis .qca-today-actions>.qca-teaching-row small{font-size:.54rem}
  .qcm-class-analysis .qca-today-actions>.qca-teaching-row em{font-size:.43rem}
  .qcm-class-analysis .qca-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .qcm-class-analysis .qca-summary-kpis>.qca-kpi{min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 6px;text-align:center}
  .qcm-class-analysis .qca-summary-kpis>.qca-kpi>span{width:31px;height:31px;flex:0 0 auto;border-radius:10px;font-size:.7rem}
  .qcm-class-analysis .qca-summary-kpis>.qca-kpi small{min-height:2.2em;overflow:visible;font-size:.43rem;line-height:1.1;text-overflow:clip;white-space:normal}
  .qcm-class-analysis .qca-summary-kpis>.qca-kpi strong{font-size:.88rem}
  .qcm-class-analysis .qca-summary-kpis>.qca-kpi em{overflow:visible;font-size:.4rem;line-height:1.1;text-overflow:clip;white-space:normal}
  .qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam{height:26px;gap:4px;padding:0 8px}
  .qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam i{font-size:.58rem}
  .qcm-class-analysis .qca-syllabus-card>header .qcm-syllabus-next-exam strong{font-size:.72rem}
  .qca-summary-sheet{height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}
  .qca-summary-sheet .qca-summary-content{padding:9px 9px 18px}
  .qca-teacher-list>article,.qca-attention-sheet-list>article{min-height:64px;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:8px}
  .qca-teacher-list .qct-avatar,.qca-attention-sheet-list .qct-avatar{width:34px;height:34px;font-size:.52rem}
  .qca-teacher-list strong,.qca-attention-sheet-list strong{font-size:.6rem}
  .qca-summary-section{padding:8px}
  .qca-summary-section>h4{font-size:.57rem}
  .qca-subject-trends{grid-template-columns:1fr}
  .qcm-class-analysis .qca-student-mix>div{display:block;padding:0 9px 9px}
  .qcm-class-analysis .qca-mix-chart{grid-template-columns:118px minmax(0,1fr);gap:10px;padding:4px 5px 10px}
  .qcm-class-analysis .qca-mix-pie{width:112px}
  .qcm-class-analysis .qca-mix-pie strong{font-size:.94rem}
  .qcm-class-analysis .qca-mix-pie small{font-size:.39rem}
  .qcm-class-analysis .qca-mix-legend{gap:6px}
  .qcm-class-analysis .qca-mix-legend button{grid-template-columns:8px minmax(0,1fr) auto;gap:6px;padding:8px 7px}
  .qcm-class-analysis .qca-mix-legend button>i{width:8px;height:8px}
  .qcm-class-analysis .qca-mix-legend strong{font-size:.53rem}
  .qcm-class-analysis .qca-mix-legend small{font-size:.42rem}
  .qcm-class-analysis .qca-mix-legend em{font-size:.72rem}
  .qca-attendance-sheet{height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}
}

/* v377: Class Teacher calendar, clickable roster rows and bounded child profile. */
.qcm-class-analysis .qca-upcoming-events>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qcm-class-analysis .qca-upcoming-events>header>div{display:grid;gap:3px}
.qcm-class-analysis .qca-upcoming-events>header small{color:var(--text-soft,#64748b);font-size:.5rem;font-weight:700}
.qcm-class-analysis .qca-upcoming-events>header button{min-height:31px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #b9d4ff;border-radius:9px;background:#edf5ff;color:#0964ea;font-size:.52rem;font-weight:850;white-space:nowrap;cursor:pointer}
.qca-event-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:2px 13px 13px}
.qca-event-list article{min-width:0;min-height:78px;display:grid;grid-template-columns:32px minmax(0,1fr);align-content:center;gap:6px 8px;padding:9px;border:1px solid var(--qcm-line);border-radius:12px;background:var(--qcm-soft)}
.qca-event-list article>span,.qca-calendar-event-list article>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#dbeafe;color:#1769ff}
.qca-event-list article>span.purple,.qca-calendar-event-list article>span.purple{background:#f1eaff;color:#7c3aed}.qca-event-list article>span.red,.qca-calendar-event-list article>span.red{background:#fee2e2;color:#dc2626}.qca-event-list article>span.orange,.qca-calendar-event-list article>span.orange{background:#ffedd5;color:#ea580c}.qca-event-list article>span.green,.qca-calendar-event-list article>span.green{background:#dcfce7;color:#15803d}.qca-event-list article>span.pink,.qca-calendar-event-list article>span.pink{background:#fce7f3;color:#db2777}
.qca-event-list article>div{min-width:0;display:grid;align-content:center;gap:2px}.qca-event-list strong{overflow:hidden;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.qca-event-list small{color:var(--text-soft,#64748b);font-size:.43rem}.qca-event-list time{grid-column:1/-1;color:#0964ea;font-size:.46rem;font-weight:850;white-space:nowrap}
.qca-events-empty{min-height:82px;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 13px 13px;padding:12px;border:1px dashed var(--qcm-line);border-radius:12px;background:var(--qcm-soft);color:var(--text-soft,#64748b)}
.qca-events-empty>i{font-size:1.2rem;color:#1769ff}.qca-events-empty>span{display:grid;gap:3px}.qca-events-empty strong{color:var(--text,#172033);font-size:.62rem}.qca-events-empty small{font-size:.49rem}
.qca-calendar-toolbar{position:sticky;z-index:2;top:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card)}
.qca-calendar-toggle{position:relative;width:154px;height:34px;display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--qcm-line);border-radius:999px;background:var(--qcm-soft);isolation:isolate}
.qca-calendar-toggle:before{position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:#1769ff;box-shadow:0 3px 10px rgba(23,105,255,.24);transition:transform .2s ease;content:""}.qca-calendar-toggle:has(button:nth-child(2).active):before{transform:translateX(100%)}
.qca-calendar-toggle button{border:0;background:transparent;color:var(--text-soft,#64748b);font-size:.53rem;font-weight:850;cursor:pointer}.qca-calendar-toggle button.active{color:#fff}
.qca-month-nav{display:grid;grid-template-columns:30px minmax(105px,1fr) 30px;align-items:center;gap:6px}.qca-month-nav button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--qcm-line);border-radius:8px;background:var(--qcm-card);color:#1769ff}.qca-month-nav button:disabled{opacity:.35}.qca-month-nav strong{font-size:.58rem;text-align:center}
.qca-calendar-content{padding-top:12px}.qca-calendar-event-list{display:grid;gap:8px}.qca-calendar-event-list article{min-height:61px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--qcm-line);border-radius:11px;background:var(--qcm-card)}
.qca-calendar-event-list article>div{min-width:0;display:grid;gap:3px}.qca-calendar-event-list strong{overflow:hidden;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.qca-calendar-event-list small{color:var(--text-soft,#64748b);font-size:.46rem}.qca-calendar-event-list time{color:#0964ea;font-size:.49rem;font-weight:850;white-space:nowrap}
.qca-month-calendar{overflow:hidden;border:1px solid var(--qcm-line);border-radius:13px;background:var(--qcm-card)}.qca-month-week,.qca-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.qca-month-week{background:var(--qcm-soft)}.qca-month-week b{padding:8px 2px;color:var(--text-soft,#64748b);font-size:.45rem;text-align:center}.qca-month-grid>span{position:relative;min-height:54px;display:grid;place-items:center;border-top:1px solid var(--qcm-line);border-right:1px solid var(--qcm-line);font-size:.55rem}.qca-month-grid>span:nth-child(7n){border-right:0}.qca-month-grid>span.outside{background:var(--qcm-soft)}.qca-month-grid>span.today b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#1769ff;color:#fff}.qca-month-grid>span.has-event i{position:absolute;bottom:7px;width:6px;height:6px;border-radius:50%;background:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12)}.qca-month-events-title{margin:14px 0 8px;color:#0964ea;font-size:.62rem}
.qca-student-group-list>button{width:100%;min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 8px;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--qcm-line);border-radius:11px;background:var(--qcm-card);color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qca-student-group-list>button:disabled{cursor:default;opacity:.58}.qca-student-group-list>button>div{min-width:0;display:grid;gap:3px}.qca-student-group-list>button strong{overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.qca-student-group-list>button small{overflow:hidden;color:var(--text-soft,#64748b);font-size:.48rem;text-overflow:ellipsis;white-space:nowrap}.qca-student-group-list>button>em{padding:5px 7px;border-radius:999px;background:#eaf2ff;color:#1769ff;font-size:.45rem;font-style:normal;font-weight:850;white-space:nowrap}.qca-student-group-list>button>i{color:#0964ea;font-size:.48rem}
.qca-sheet-student{width:100%;grid-template-columns:36px minmax(0,1fr) auto 8px;background:var(--qcm-card);color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qca-sheet-student:disabled{cursor:default;opacity:.58}.qca-sheet-student>i{color:#0964ea;font-size:.46rem}
.qca-child-sheet-backdrop{position:fixed;z-index:10060;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:72px;background:rgba(4,12,28,.56);backdrop-filter:blur(3px)}
.qca-child-sheet{width:min(620px,calc(100% - 18px));max-height:calc(100dvh - 72px);overflow:auto;border:1px solid var(--qcm-line,#dce5f1);border-bottom:0;border-radius:21px 21px 0 0;background:var(--qcm-card,#fff);color:var(--text,#172033);box-shadow:0 -22px 65px rgba(2,8,23,.36)}
.qca-profile-head{position:sticky;z-index:2;top:0;min-height:68px;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card)}.qca-profile-head button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--text)}.qca-profile-head h3{margin:0;font-size:.86rem}.qca-profile-head p{margin:3px 0 0;color:#1769ff;font-size:.52rem}
.qca-profile-body{display:grid;gap:12px;padding:14px 14px 24px}.qca-profile-person{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:13px;padding:13px;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-soft)}.qca-profile-avatar{width:68px;height:68px;display:grid;place-items:center;overflow:hidden;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#dbeafe,#ede9fe);color:#1769ff;box-shadow:0 0 0 2px #7c3aed;font-size:1rem;font-weight:900}.qca-profile-avatar img{width:100%;height:100%;object-fit:cover}.qca-profile-person>div{min-width:0;display:grid;justify-items:start;gap:4px}.qca-profile-person h4{overflow:hidden;width:100%;margin:0;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.qca-profile-person p{margin:0;color:#1769ff;font-size:.58rem;font-weight:850}.qca-profile-person>div>span{padding:4px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.46rem;font-weight:850}
.qca-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.qca-profile-fact{min-width:0;min-height:70px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:10px;border:1px solid var(--qcm-line);border-radius:12px;background:var(--qcm-card)}.qca-profile-fact>span{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#dbeafe;color:#1769ff}.qca-profile-fact.purple>span{background:#f1eaff;color:#7c3aed}.qca-profile-fact.green>span{background:#dcfce7;color:#15803d}.qca-profile-fact.red>span{background:#fee2e2;color:#dc2626}.qca-profile-fact.orange>span{background:#ffedd5;color:#ea580c}.qca-profile-fact>div{min-width:0;display:grid;gap:3px}.qca-profile-fact small{color:var(--text-soft,#64748b);font-size:.45rem}.qca-profile-fact strong{overflow:hidden;font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.qca-profile-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px;border-radius:10px;background:var(--qcm-soft);color:var(--text-soft,#64748b);font-size:.48rem;line-height:1.5}.qca-profile-note i{margin-top:2px;color:#1769ff}.qca-profile-loading,.qca-profile-error{min-height:280px;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.qca-profile-loading i,.qca-profile-error>i{color:#1769ff;font-size:1.5rem}.qca-profile-loading strong,.qca-profile-error strong{font-size:.7rem}.qca-profile-error p{max-width:330px;margin:0;color:var(--text-soft,#64748b);font-size:.54rem;line-height:1.5}
:root[data-theme="dark"] .qcm-class-analysis .qca-upcoming-events>header button{border-color:#3f5875;background:#243344;color:#8bb1ff}:root[data-theme="dark"] .qca-calendar-toggle:before{background:#5b8def}:root[data-theme="dark"] .qca-profile-avatar{border-color:#2a2621;background:linear-gradient(145deg,#27354a,#352b46);color:#8bb1ff}
@media(max-width:599px){.qca-event-list{grid-template-columns:1fr;padding:0 9px 9px}.qca-event-list article{min-height:59px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center}.qca-event-list time{grid-column:3;white-space:normal;text-align:right}.qca-events-empty{margin:0 9px 9px}.qca-calendar-toolbar{top:68px;align-items:stretch;flex-direction:column}.qca-calendar-toggle{width:100%}.qca-month-nav{grid-template-columns:32px minmax(0,1fr) 32px}.qca-calendar-event-list article{grid-template-columns:34px minmax(0,1fr);}.qca-calendar-event-list time{grid-column:2;white-space:normal}.qca-child-sheet-backdrop{padding-top:44px}.qca-child-sheet{width:100%;max-height:calc(100dvh - 44px)}.qca-profile-grid{grid-template-columns:1fr 1fr}.qca-profile-person{grid-template-columns:60px minmax(0,1fr)}.qca-profile-avatar{width:58px;height:58px}.qca-month-grid>span{min-height:46px}}
@media(max-width:350px){.qca-profile-grid{grid-template-columns:1fr}.qca-profile-fact{min-height:62px}.qca-event-list article{grid-template-columns:30px minmax(0,1fr)}.qca-event-list time{grid-column:2;text-align:left}}

/* Class Teacher daily status actions and read-only detail layers. These rules
   are scoped to the existing qca sheets and do not alter Homework/Syllabus
   entry workflows elsewhere in the application. */
.qca-teaching-status-table{overflow:hidden;border:1px solid var(--qcm-line);border-radius:13px}.qca-teaching-status-table>header,.qca-teaching-status-table>article{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(72px,.9fr) 72px;align-items:center;gap:8px}.qca-teaching-status-table>header{min-height:42px;padding:7px 10px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-soft)}.qca-teaching-status-table>header strong{font-size:.5rem;text-align:left}.qca-teaching-status-table>header strong:last-child{text-align:center}.qca-teaching-status-table>article{min-height:70px;padding:9px 10px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card)}.qca-teaching-status-table>article:last-child{border-bottom:0}.qca-teaching-status-table article>div{min-width:0;display:grid;gap:3px}.qca-teaching-status-table article>div strong,.qca-teaching-status-table article>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qca-teaching-status-table article>div strong{font-size:.6rem}.qca-teaching-status-table article>div small{color:var(--text-soft,#64748b);font-size:.43rem}.qca-teaching-status{justify-self:start;padding:6px 8px;border:1px solid #dbe4f0;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.46rem;font-weight:850;white-space:nowrap}.qca-teaching-status.approved,.qca-teaching-status.updated{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.qca-teaching-status.approval_pending{border-color:#bfdbfe;background:#eff6ff;color:#1769ff}.qca-teaching-status.returned{border-color:#fecaca;background:#fef2f2;color:#dc2626}.qca-teaching-status.not_submitted,.qca-teaching-status.pending{border-color:#fed7aa;background:#fff7ed;color:#ea580c}.qca-teaching-action-cell{min-width:0;display:grid;justify-items:center;gap:2px;text-align:center}.qca-teaching-action-cell small{overflow:visible!important;color:#15803d!important;font-size:.38rem!important;font-weight:850;line-height:1.05;white-space:normal!important}.qca-teaching-action-cell time{color:var(--text-soft,#64748b);font-size:.4rem;font-weight:800;line-height:1}.qca-teaching-action{width:40px;height:40px;display:grid;place-items:center;justify-self:center;border:1px solid #1769ff;border-radius:50%;background:var(--qcm-card);color:#1769ff;font-size:.76rem}.qca-teaching-action.reminder{border-color:#f97316;color:#f97316}.qca-teaching-action.sent{border-color:#86efac;background:#f0fdf4;color:#15803d}.qca-teaching-action:disabled{opacity:.75}.qca-reminder-toast{position:fixed;z-index:10070;right:16px;bottom:20px;left:16px;min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border:1px solid #bbf7d0;border-radius:13px;background:#ecfdf5;color:#166534;box-shadow:0 14px 38px rgba(15,23,42,.2);font-size:.58rem;font-weight:800}.qca-reminder-toast i{font-size:1rem}
.qca-teaching-detail-sheet{width:min(680px,100%);max-height:calc(100dvh - 44px)}.qca-teaching-detail-body{display:grid;gap:13px;padding:14px 14px 26px}.qca-homework-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.qca-homework-summary>div{min-width:0;display:flex;align-items:center;gap:10px}.qca-homework-summary>div>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#e8efff;color:#1769ff}.qca-homework-summary p{min-width:0;display:grid;gap:3px;margin:0}.qca-homework-summary p strong,.qca-homework-summary p small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qca-homework-summary p strong{font-size:.74rem}.qca-homework-summary p small{color:var(--text-soft,#64748b);font-size:.53rem}.qca-homework-summary>em{padding:7px 10px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#15803d;font-size:.52rem;font-style:normal;font-weight:850;white-space:nowrap}.qca-homework-summary>em.approval_pending{border-color:#bfdbfe;background:#eff6ff;color:#1769ff}.qca-homework-summary>em.returned{border-color:#fecaca;background:#fef2f2;color:#dc2626}.qca-homework-media{position:relative;display:grid;gap:10px}.qca-homework-media figure{margin:0;overflow:hidden;border:1px solid var(--qcm-line);border-radius:14px;background:#f1f5f9}.qca-homework-media img{width:100%;max-height:72dvh;display:block;object-fit:contain}.qca-homework-copy,.qca-homework-text{padding:13px 15px;border:1px solid var(--qcm-line);border-radius:12px;background:var(--qcm-soft)}.qca-homework-copy p,.qca-homework-text p{margin:0;font-size:.66rem;line-height:1.55;white-space:pre-wrap}.qca-homework-media.is-tall .qca-homework-copy{position:absolute;right:0;bottom:0;left:0;padding:64px 18px 18px;border:0;border-radius:0 0 14px 14px;background:linear-gradient(transparent,rgba(2,6,23,.9));color:#fff}.qca-homework-media.is-tall .qca-homework-copy p{font-size:.76rem;font-weight:800}.qca-homework-file{min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid var(--qcm-line);border-radius:13px;background:var(--qcm-soft);color:#1769ff;text-decoration:none}.qca-homework-file>i{font-size:1.3rem}.qca-homework-file span{display:grid;gap:3px}.qca-homework-file small{color:var(--text-soft,#64748b)}.qca-homework-return{padding:11px;border-radius:11px;background:#fef2f2;color:#991b1b}.qca-homework-return strong{font-size:.55rem}.qca-homework-return p{margin:5px 0 0;font-size:.56rem;line-height:1.5}.qca-teaching-submitted{display:flex;align-items:center;gap:9px;color:var(--text-soft,#64748b);font-size:.54rem}.qca-teaching-submitted i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#1769ff}
.qca-syllabus-detail{gap:15px}.qca-updated-pill{justify-self:center;padding:8px 13px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:.58rem;font-weight:850}.qca-updated-pill i{margin-right:6px}.qca-syllabus-update-card{overflow:hidden;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-card);box-shadow:0 7px 22px rgba(15,23,42,.06)}.qca-syllabus-update-card>header{min-height:62px;display:flex;align-items:center;gap:10px;padding:11px 13px}.qca-syllabus-update-card>header span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e8efff;color:#1769ff}.qca-syllabus-update-card h4{margin:0;font-size:.72rem}.qca-progress-change{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px;padding:12px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4}.qca-progress-change>div{display:grid;gap:4px}.qca-progress-change small{color:var(--text-soft,#64748b);font-size:.48rem}.qca-progress-change strong{font-size:1rem;font-weight:650}.qca-progress-change strong b{color:#15803d;font-size:1.32rem}.qca-progress-change strong i{margin-inline:6px;color:#64748b;font-size:.7rem}.qca-progress-change>em{display:grid;padding-left:12px;border-left:1px solid #bbf7d0;color:#15803d;font-size:1rem;font-style:normal;font-weight:900;text-align:center}.qca-progress-change>em.down{color:#dc2626}.qca-progress-change>em small{display:block}.qca-syllabus-progress{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;padding:13px}.qca-syllabus-progress>i{height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.qca-syllabus-progress>i b{display:block;height:100%;border-radius:inherit;background:#16a34a}.qca-syllabus-progress strong{font-size:.68rem}.qca-syllabus-update-card dl{margin:0;padding:0 13px 13px}.qca-syllabus-update-card dl>div{display:grid;grid-template-columns:minmax(115px,.9fr) minmax(0,1.4fr);gap:10px;padding:10px 0;border-top:1px solid var(--qcm-line)}.qca-syllabus-update-card dt{font-size:.54rem;font-weight:800}.qca-syllabus-update-card dd{margin:0;color:var(--text-soft,#64748b);font-size:.55rem;line-height:1.4}
.qca-academic-profile{gap:14px}.qca-profile-section{overflow:hidden;border:1px solid var(--qcm-line);border-radius:14px;background:var(--qcm-card)}.qca-profile-section>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--qcm-line)}.qca-profile-section>header>div{display:grid;gap:3px}.qca-profile-section>header small{color:#1769ff;font-size:.44rem;font-weight:950;letter-spacing:.08em}.qca-profile-section>header h4{margin:0;font-size:.68rem}.qca-profile-section>header>em{color:#1769ff;font-size:.55rem;font-style:normal;font-weight:850}.qca-rating-section>header>div h4{font-size:1.2rem}.qca-rating-section>header>em{padding:5px 8px;border-radius:999px;background:#dcfce7;color:#15803d}.qca-rating-components{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:9px}.qca-rating-components article{min-width:0;min-height:62px;display:grid;align-content:center;gap:5px;padding:6px;border:1px solid var(--qcm-line);border-radius:9px;background:var(--qcm-soft);text-align:center}.qca-rating-components small{font-size:.39rem;line-height:1.25}.qca-rating-components strong{font-size:.55rem}.qca-academic-graph{padding:10px}.qca-academic-graph svg{width:100%;display:block;overflow:visible}.qca-academic-graph svg line{stroke:var(--qcm-line);stroke-width:1}.qca-academic-graph svg polyline{fill:none;stroke:#7c3aed;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.qca-academic-graph svg circle{fill:var(--qcm-card);stroke:#7c3aed;stroke-width:2}.qca-academic-graph svg text{fill:#7c3aed;font-size:7px;text-anchor:middle}.qca-academic-graph>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}.qca-academic-graph>div span{overflow:hidden;color:#94a3b8;font-size:.38rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.qca-academic-graph>div span.available{color:var(--text,#172033);font-weight:800}.qca-subject-marks{display:grid}.qca-subject-marks article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--qcm-line)}.qca-subject-marks article:last-child{border-bottom:0}.qca-subject-marks article>div{display:grid;gap:3px}.qca-subject-marks strong{font-size:.58rem}.qca-subject-marks small{color:var(--text-soft,#64748b);font-size:.44rem}.qca-subject-marks article>b{color:#15803d;font-size:.62rem}.qca-subject-marks article>b.low{color:#dc2626}.qca-result-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.qca-attendance-trend{height:130px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:4px;padding:12px 10px 5px}.qca-attendance-trend article{height:105px;display:grid;grid-template-rows:86px 16px;gap:3px}.qca-attendance-trend article>div{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--qcm-line)}.qca-attendance-trend article i{width:70%;min-height:3px;border-radius:4px 4px 0 0;background:linear-gradient(#22c55e,#16a34a)}.qca-attendance-trend article span{overflow:hidden;color:var(--text-soft,#64748b);font-size:.38rem;text-align:center}.qca-attendance-counts{display:flex;justify-content:center;gap:12px;padding:6px 8px 11px;color:var(--text-soft,#64748b);font-size:.44rem}.qca-attendance-counts span{display:flex;align-items:center;gap:4px}.qca-attendance-counts i{width:7px;height:7px;border-radius:50%;background:#64748b}.qca-attendance-counts i.present{background:#16a34a}.qca-attendance-counts i.absent{background:#ef4444}.qca-last-attendance{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:9px}.qca-last-attendance article{min-height:50px;display:grid;place-content:center;gap:4px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4;text-align:center}.qca-last-attendance article.absent{border-color:#fecaca;background:#fef2f2}.qca-last-attendance strong{font-size:.45rem}.qca-last-attendance span{color:#15803d;font-size:.58rem;font-weight:950}.qca-last-attendance .absent span{color:#dc2626}.qca-profile-empty{grid-column:1/-1;margin:0;padding:20px;color:var(--text-soft,#64748b);font-size:.52rem;text-align:center}
@media(max-width:420px){.qca-teaching-status-table>header,.qca-teaching-status-table>article{grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr) minmax(65px,.9fr) 64px;gap:5px}.qca-teaching-status-table>header,.qca-teaching-status-table>article{padding-inline:7px}.qca-teaching-status-table article>div strong{font-size:.5rem}.qca-teaching-status{padding:5px 6px;font-size:.39rem}.qca-teaching-action{width:34px;height:34px;font-size:.65rem}.qca-teaching-action-cell small{font-size:.34rem!important}.qca-teaching-action-cell time{font-size:.36rem}.qca-rating-components{gap:3px;padding:6px}.qca-rating-components article{padding:4px 2px}.qca-rating-components small{font-size:.34rem}.qca-result-analysis{gap:5px;padding:6px}.qca-result-analysis .qca-profile-fact{min-height:62px;padding:7px}.qca-last-attendance{gap:4px;padding:6px}.qca-last-attendance article{min-height:46px}}

/* Shared HOD/Academic Incharge Total, Present and Absent class list. */
.qhod-attendance-list-stack,.qhod-attendance-list-stack *{box-sizing:border-box}.qhod-attendance-list-stack{gap:0!important;overflow:hidden;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-card)}.qhod-attendance-class-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:stretch;min-height:72px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card)}.qhod-attendance-class-row:last-child{border-bottom:0}.qhod-attendance-class-open{min-width:0;display:grid;grid-template-columns:36px minmax(90px,1fr) repeat(3,minmax(42px,auto));align-items:center;gap:7px;padding:10px;border:0;background:transparent;color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qhod-attendance-class-open>.qct-avatar{width:36px;height:36px;font-size:.55rem}.qhod-attendance-class-copy{min-width:0;display:grid;gap:3px}.qhod-attendance-class-copy strong,.qhod-attendance-class-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qhod-attendance-class-copy strong{font-size:.7rem}.qhod-attendance-class-copy small{color:var(--text-soft,#64748b);font-size:.5rem}.qhod-attendance-metric{display:grid;justify-items:center;gap:3px;min-width:0;text-align:center}.qhod-attendance-metric small{color:var(--text-soft,#64748b);font-size:.38rem;font-weight:800;text-transform:uppercase}.qhod-attendance-metric strong{color:var(--text,#172033);font-size:.68rem}.qhod-attendance-action{min-width:0;overflow:hidden;display:grid;place-items:center;padding:7px 5px}.qhod-attendance-action .qca-teaching-action-cell{width:100%}.qhod-attendance-action .qca-teaching-action-cell small{font-size:.37rem!important}.qhod-attendance-action .qca-teaching-action-cell time{font-size:.4rem}.qhod-attendance-view{width:100%;min-width:0;min-height:42px;display:grid;place-items:center;gap:3px;overflow:hidden;padding:5px 3px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1769ff;font:inherit;font-size:.42rem;font-weight:850;line-height:1.15;text-align:center}.qhod-attendance-view span{max-width:100%;white-space:normal;overflow-wrap:normal}.qhod-attendance-view i{font-size:.66rem}
@media(max-width:560px){.qhod-attendance-class-row{grid-template-columns:minmax(0,1fr) 78px;min-height:82px}.qhod-attendance-class-open{grid-template-columns:34px repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:4px 5px;padding:9px 7px}.qhod-attendance-class-open>.qct-avatar{grid-column:1;grid-row:1/3;width:34px;height:34px}.qhod-attendance-class-copy{grid-column:2/5;grid-row:1}.qhod-attendance-total{grid-column:2;grid-row:2}.qhod-attendance-present{grid-column:3;grid-row:2}.qhod-attendance-absent{grid-column:4;grid-row:2}.qhod-attendance-class-copy strong{font-size:.64rem}.qhod-attendance-class-copy small{font-size:.46rem}.qhod-attendance-metric small{font-size:.34rem}.qhod-attendance-metric strong{font-size:.61rem}.qhod-attendance-action{padding:6px 4px}.qhod-attendance-view{font-size:.37rem}.qhod-attendance-action .qca-teaching-action-cell small{font-size:.33rem!important}.qhod-attendance-action .qca-teaching-action-cell time{font-size:.36rem}}
.qhod-attendance-table-head,.qhod-attendance-view-mobile-icon,.qhod-attendance-sent-mobile{display:none}
@media(max-width:560px){.qhod-attendance-table-head{grid-column:1/-1;min-height:27px;display:grid;grid-template-columns:minmax(0,1fr) repeat(4,clamp(39px,11.7vw,42px));align-items:center;padding:0 0 0 9px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-soft)}.qhod-attendance-table-head strong{min-width:0;overflow:hidden;color:var(--text-soft,#64748b);font-size:.34rem;line-height:1;font-weight:850;text-align:center;text-overflow:clip;text-transform:uppercase;white-space:nowrap}.qhod-attendance-table-head strong:first-child{text-align:left}.qhod-attendance-class-row{grid-template-columns:minmax(0,1fr) clamp(39px,11.7vw,42px);min-height:58px}.qhod-attendance-class-open{grid-template-columns:minmax(0,1fr) repeat(3,clamp(39px,11.7vw,42px));grid-template-rows:1fr;gap:0;padding:5px 0 5px 9px}.qhod-attendance-class-open>.qct-avatar{display:none}.qhod-attendance-class-copy{grid-column:1;grid-row:1;gap:3px;padding-right:2px}.qhod-attendance-total{grid-column:2;grid-row:1}.qhod-attendance-present{grid-column:3;grid-row:1}.qhod-attendance-absent{grid-column:4;grid-row:1}.qhod-attendance-class-copy strong{font-size:.66rem}.qhod-attendance-class-copy small{font-size:.45rem}.qhod-attendance-metric{gap:0}.qhod-attendance-metric small{display:none}.qhod-attendance-metric strong{font-size:.64rem}.qhod-attendance-action{padding:0}.qhod-attendance-view{width:100%;height:44px;min-height:44px;display:grid;place-items:center;gap:0;padding:0;border:0;border-radius:0;background:transparent;color:#1769ff;font-size:0}.qhod-attendance-view>span,.qhod-attendance-view-desktop-icon{display:none}.qhod-attendance-view-mobile-icon{display:grid}.qhod-attendance-action .qca-teaching-action-cell{width:100%;gap:3px}.qhod-attendance-action .qca-teaching-action{width:100%;height:44px;border:0;border-radius:0;background:transparent;font-size:0}.qhod-attendance-action .qca-teaching-action>i,.qhod-attendance-view-mobile-icon{width:31px;height:31px;display:grid;place-items:center;border:1.25px solid currentColor;border-radius:50%;font-size:.65rem}.qhod-attendance-action .qca-teaching-action-cell.is-sent>.qca-teaching-action,.qhod-attendance-action .qca-teaching-action-cell.is-sent>small{display:none}.qhod-attendance-sent-mobile{display:block;color:#1769ff;font-size:.34rem;font-weight:900;line-height:1}.qhod-attendance-action .qca-teaching-action-cell.is-sent time{color:#f97316;font-size:.44rem;line-height:1}}
@media(max-width:560px){.qhod-subhead:has(+.qhod-attendance-list-stack){min-width:0}}

/* Academic Incharge/HOD Homework and Daily Syllabus class lists only. */
.qhod-teaching-list-stack,.qhod-teaching-list-stack *{box-sizing:border-box}.qhod-teaching-list-stack{gap:10px!important}.qhod-teaching-wing{min-width:0;overflow:hidden;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-card)}.qhod-teaching-wing-head{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px 6px 12px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-soft)}.qhod-teaching-wing-head>strong{color:#1769ff;font-size:.52rem;letter-spacing:.07em}.qhod-wing-remind{min-width:98px;height:29px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid #bfdbfe;border-radius:9px;background:var(--qcm-card);color:#1769ff;font:inherit;font-size:.47rem;font-weight:850}.qhod-wing-remind i{font-size:.58rem}.qhod-wing-reminder-sent{min-width:98px;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:2px 6px;color:#1769ff;text-align:center}.qhod-wing-reminder-sent small{grid-column:1/-1;font-size:.4rem;font-weight:850;text-transform:uppercase}.qhod-wing-reminder-sent time{grid-column:1/-1;color:#f97316;font-size:.5rem;font-weight:900}.qhod-teaching-class-row{min-width:0;min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.52fr) 58px;align-items:stretch;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card)}.qhod-teaching-class-row:last-child{border-bottom:0}.qhod-teaching-class-open{grid-column:1/3;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.52fr);align-items:center;gap:8px;padding:8px 6px 8px 12px;border:0;background:transparent;color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qhod-teaching-class-copy{min-width:0;display:grid;gap:4px}.qhod-teaching-class-copy>strong{overflow:hidden;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.qhod-teaching-class-copy>small{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--text-soft,#64748b);font-size:.45rem;white-space:nowrap}.qhod-teaching-class-copy>small span{overflow:hidden;text-overflow:ellipsis}.qhod-teaching-class-copy>small em{flex:0 0 auto;color:#1769ff;font-size:.39rem;font-style:normal;font-weight:800}.qhod-teaching-status{min-width:112px;display:grid;justify-self:center;justify-items:center;gap:2px;padding:6px 8px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#c2410c;text-align:center}.qhod-teaching-status.complete{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.qhod-teaching-status.muted{border-color:#dbe3ed;background:#f8fafc;color:#64748b}.qhod-teaching-status strong{font-size:.59rem;line-height:1}.qhod-teaching-status small{font-size:.39rem;font-weight:800;line-height:1.15}.qhod-teaching-action{grid-column:3;display:grid;place-items:center}.qhod-teaching-notify{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1.25px solid #f97316;border-radius:50%;background:transparent;color:#f97316;font:inherit;font-size:.68rem}.qhod-teaching-notify:disabled{border-color:#cbd5e1;color:#94a3b8}.qhod-teaching-notify:disabled .fa-circle-check{color:#16a34a}
@media(max-width:560px){.qhod-subhead:has(+.qhod-teaching-list-stack){min-width:0}.qhod-teaching-list-stack{gap:9px!important}.qhod-teaching-wing{border-radius:13px}.qhod-teaching-wing-head{min-height:36px;padding:5px 6px 5px 9px}.qhod-teaching-wing-head>strong{font-size:.46rem}.qhod-wing-remind{min-width:86px;height:26px;gap:4px;padding:0 6px;border-radius:8px;font-size:.42rem}.qhod-wing-remind i{font-size:.52rem}.qhod-wing-reminder-sent{min-width:86px}.qhod-wing-reminder-sent small{font-size:.34rem}.qhod-wing-reminder-sent time{font-size:.45rem}.qhod-teaching-class-row{min-height:62px;grid-template-columns:minmax(0,1fr) minmax(86px,28%) 43px}.qhod-teaching-class-open{grid-template-columns:minmax(0,1fr) minmax(86px,28%);gap:3px;padding:6px 2px 6px 9px}.qhod-teaching-class-copy{gap:3px}.qhod-teaching-class-copy>strong{font-size:.62rem}.qhod-teaching-class-copy>small{gap:3px;font-size:.4rem}.qhod-teaching-class-copy>small em{font-size:.34rem}.qhod-teaching-status{min-width:80px;gap:2px;padding:5px 3px;border-radius:8px}.qhod-teaching-status strong{font-size:.54rem}.qhod-teaching-status small{font-size:.34rem}.qhod-teaching-notify{width:30px;height:30px;font-size:.59rem}}
.qhod-operational-list-stack,.qhod-operational-list-stack *{box-sizing:border-box}.qhod-operational-list-stack{gap:10px!important}.qhod-operational-wing{min-width:0;overflow:hidden;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-card)}.qhod-operational-wing-head{min-height:38px;display:flex;align-items:center;padding:7px 12px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-soft)}.qhod-operational-wing-head>strong{color:#1769ff;font-size:.5rem;letter-spacing:.07em}.qhod-operational-table-head,.qhod-operational-row{min-width:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(58px,.62fr) minmax(68px,.72fr) 40px;align-items:center;gap:6px}.qhod-operational-table-head{min-height:30px;padding:6px 9px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card);color:var(--text-soft,#64748b);text-transform:uppercase}.qhod-operational-table-head>strong{min-width:0;overflow:hidden;font-size:.39rem;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}.qhod-operational-table-head>strong:not(:first-child){text-align:center}.qhod-operational-row{width:100%;min-height:70px;padding:8px 9px;border:0;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card);color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qhod-operational-row:last-child{border-bottom:0}.qhod-operational-copy{min-width:0;display:grid;gap:4px}.qhod-operational-copy>strong{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.qhod-operational-copy>small{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--text-soft,#64748b);font-size:.42rem;white-space:nowrap}.qhod-operational-copy>small span{overflow:hidden;text-overflow:ellipsis}.qhod-operational-copy>small em{flex:0 0 auto;color:#1769ff;font-size:.36rem;font-style:normal;font-weight:800}.qhod-operational-metric{min-width:0;display:grid;justify-items:center;gap:3px;text-align:center}.qhod-operational-metric strong{overflow:hidden;max-width:100%;color:var(--text,#172033);font-size:.58rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.qhod-operational-metric small{overflow:hidden;max-width:100%;color:var(--text-soft,#64748b);font-size:.34rem;font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.qhod-operational-metric.warn strong{color:#f97316}.qhod-operational-metric.danger strong{color:#ef3340}.qhod-operational-metric.good strong{color:#169b6b}.qhod-operational-open{width:34px;height:34px;display:grid;place-items:center;justify-self:center;border:1.2px solid #1769ff;border-radius:50%;color:#1769ff;font-size:.58rem}.qhod-operational-row:disabled{cursor:wait;opacity:.72}
@media(max-width:560px){.qhod-subhead:has(+.qhod-operational-list-stack){min-width:0}.qhod-subhead:has(+.qhod-operational-list-stack) h2{overflow:visible;font-size:1.08rem;line-height:1.08;text-overflow:clip;white-space:normal}.qhod-operational-list-stack{gap:9px!important}.qhod-operational-wing{border-radius:13px}.qhod-operational-wing-head{min-height:34px;padding:6px 8px}.qhod-operational-wing-head>strong{font-size:.45rem}.qhod-operational-table-head,.qhod-operational-row{grid-template-columns:minmax(0,1.45fr) minmax(50px,.62fr) minmax(58px,.72fr) 34px;gap:3px}.qhod-operational-table-head{min-height:28px;padding:5px 7px}.qhod-operational-table-head>strong{font-size:.34rem}.qhod-operational-row{min-height:62px;padding:6px 7px}.qhod-operational-copy{gap:3px}.qhod-operational-copy>strong{font-size:.61rem}.qhod-operational-copy>small{gap:3px;font-size:.37rem}.qhod-operational-copy>small em{font-size:.31rem}.qhod-operational-metric{gap:2px}.qhod-operational-metric strong{font-size:.54rem}.qhod-operational-metric small{font-size:.3rem}.qhod-operational-open{width:30px;height:30px;font-size:.52rem}}
.qhod-studentmix-list-stack,.qhod-studentmix-list-stack *{box-sizing:border-box}.qhod-studentmix-list-stack{gap:10px!important}.qhod-studentmix-wing{min-width:0;overflow:hidden;border:1px solid var(--qcm-line);border-radius:15px;background:var(--qcm-card)}.qhod-studentmix-wing-head{min-height:38px;display:flex;align-items:center;padding:7px 12px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-soft)}.qhod-studentmix-wing-head>strong{color:#1769ff;font-size:.5rem;letter-spacing:.07em}.qhod-studentmix-table-head,.qhod-studentmix-row{min-width:0;display:grid;grid-template-columns:minmax(0,1.5fr) 54px 64px 70px 40px;align-items:center;gap:4px}.qhod-studentmix-table-head{min-height:30px;padding:6px 9px;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card);color:var(--text-soft,#64748b);text-transform:uppercase}.qhod-studentmix-table-head>strong{min-width:0;overflow:hidden;font-size:.36rem;letter-spacing:.02em;line-height:1.05;text-overflow:clip;white-space:normal}.qhod-studentmix-table-head>strong:not(:first-child){text-align:center}.qhod-studentmix-row{width:100%;min-height:70px;padding:8px 9px;border:0;border-bottom:1px solid var(--qcm-line);background:var(--qcm-card);color:var(--text,#172033);font:inherit;text-align:left;cursor:pointer}.qhod-studentmix-row:last-child{border-bottom:0}.qhod-studentmix-copy{min-width:0;display:grid;gap:4px}.qhod-studentmix-copy>strong{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.qhod-studentmix-copy>small{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--text-soft,#64748b);font-size:.42rem;white-space:nowrap}.qhod-studentmix-copy>small span{overflow:hidden;text-overflow:ellipsis}.qhod-studentmix-copy>small em{flex:0 0 auto;color:#1769ff;font-size:.36rem;font-style:normal;font-weight:800}.qhod-studentmix-metric{min-width:0;display:grid;place-items:center;text-align:center}.qhod-studentmix-metric strong{font-size:.59rem;line-height:1}.qhod-studentmix-open{width:34px;height:34px;display:grid;place-items:center;justify-self:center;border:1.2px solid #1769ff;border-radius:50%;color:#1769ff;font-size:.58rem}.qhod-studentmix-row:disabled{cursor:wait;opacity:.72}
@media(max-width:560px){.qhod-subhead:has(+.qhod-studentmix-list-stack){min-width:0}.qhod-subhead:has(+.qhod-studentmix-list-stack) h2{overflow:visible;font-size:1.08rem;line-height:1.08;text-overflow:clip;white-space:normal}.qhod-studentmix-list-stack{gap:9px!important}.qhod-studentmix-wing{border-radius:13px}.qhod-studentmix-wing-head{min-height:34px;padding:6px 8px}.qhod-studentmix-wing-head>strong{font-size:.45rem}.qhod-studentmix-table-head,.qhod-studentmix-row{grid-template-columns:minmax(0,1fr) 35px 42px 46px 32px;gap:2px}.qhod-studentmix-table-head{min-height:32px;padding:5px 6px}.qhod-studentmix-table-head>strong{font-size:.29rem}.qhod-studentmix-row{min-height:62px;padding:6px}.qhod-studentmix-copy{gap:3px}.qhod-studentmix-copy>strong{font-size:.6rem}.qhod-studentmix-copy>small{gap:3px;font-size:.36rem}.qhod-studentmix-copy>small em{font-size:.3rem}.qhod-studentmix-metric strong{font-size:.54rem}.qhod-studentmix-open{width:28px;height:28px;font-size:.48rem}}
.qcm-class-analysis .qhod-studentmix-dashboard-chart .qca-mix-legend{align-content:center}.qcm-class-analysis .qhod-studentmix-dashboard-open{min-height:64px}.qca-student-mix-merged .qca-student-mix-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:10px 12px 0;padding:4px;border-radius:12px;background:var(--qcm-soft,#f1f5f9)}.qca-student-mix-merged .qca-student-mix-toggle>button{min-width:0;min-height:42px;padding:7px 5px;border:0;border-radius:9px;background:transparent;color:var(--text-soft,#64748b);font:inherit;font-size:.54rem;font-weight:800}.qca-student-mix-merged .qca-student-mix-toggle>button strong{font:inherit}.qca-student-mix-merged .qca-student-mix-toggle>button.active{background:#1769ff;color:#fff}.qca-student-mix-merged .qca-summary-content{padding-top:10px}.qca-student-mix-list-label{display:block;padding:0 1px 8px;color:var(--text-soft,#64748b);font-size:.46rem;font-weight:800;letter-spacing:.035em}.qca-student-mix-merged .qca-student-group-list{gap:0;overflow:hidden;border:1px solid var(--qcm-line);border-radius:11px}.qca-student-mix-merged .qca-student-group-list>button{min-height:62px;border:0;border-bottom:1px solid var(--qcm-line);border-radius:0}.qca-student-mix-merged .qca-student-group-list>button:last-child{border-bottom:0}.qca-student-mix-merged .qca-student-group-list>button>em{background:var(--qcm-soft,#f1f5f9);color:var(--text-soft,#64748b)}
@media(max-width:560px){.qcm-class-analysis .qhod-studentmix-dashboard-open{min-height:58px}.qca-student-mix-merged .qca-student-mix-toggle{margin:8px 9px 0}.qca-student-mix-merged .qca-student-mix-toggle>button{min-height:40px;font-size:.5rem}.qca-student-mix-merged .qca-summary-content{padding-top:9px}.qca-student-mix-list-label{font-size:.42rem}.qca-student-mix-merged .qca-student-group-list>button{min-height:60px}}
@media(prefers-reduced-motion:reduce){.qca-calendar-toggle:before{transition:none}}

/* v381 — approved Class Teacher academic profile. All selectors stay inside
   the existing QCA sheets so unrelated profiles and desktop modules retain
   their current layout. */
.qca-sheet-backdrop,.qca-child-sheet-backdrop{overscroll-behavior:contain}.qca-sheet,.qca-child-sheet{overscroll-behavior:contain;touch-action:pan-y}.qca-student-profile-sheet{background:var(--qcm-soft,#f7f9fc)}
.qca-academic-profile-v381{gap:10px;padding:10px 10px 22px}.qca-academic-profile-v381 .qca-profile-person{grid-template-columns:68px minmax(0,1fr);gap:14px;padding:12px 14px;background:var(--qcm-card,#fff);box-shadow:0 3px 12px rgba(15,23,42,.04)}.qca-academic-profile-v381 .qca-profile-avatar{width:64px;height:64px;border:0;box-shadow:none}.qca-academic-profile-v381 .qca-profile-person h4{font-size:.9rem}.qca-academic-profile-v381 .qca-profile-person>div>span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#e9fbed;color:#16a34a;font-size:.5rem}.qca-academic-profile-v381 .qca-profile-person>div>span i{width:7px;height:7px;border-radius:50%;background:currentColor}
.qca-profile-kpis{display:grid;grid-template-columns:1.08fr 1fr .92fr;overflow:hidden;border:1px solid var(--qcm-line);border-radius:14px;background:var(--qcm-card);box-shadow:0 3px 12px rgba(15,23,42,.04)}.qca-profile-kpis>article{position:relative;min-width:0;min-height:112px;display:grid;align-content:start;justify-items:center;gap:5px;padding:10px 7px;text-align:center}.qca-profile-kpis>article+article:before{position:absolute;top:12px;bottom:12px;left:0;width:1px;background:var(--qcm-line);content:""}.qca-profile-kpis header{width:100%;display:flex;align-items:center;justify-content:center;gap:5px}.qca-profile-kpis header>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;border-radius:50%;background:#f1eaff;color:#7c3aed}.qca-profile-kpis .attendance header>span{background:#e6fbfb;color:#0891b2}.qca-profile-kpis .today header>span{background:#eaf2ff;color:#1769ff}.qca-profile-kpis header b{min-width:0;font-size:.48rem;line-height:1.15}.qca-profile-kpis>article>strong{margin-top:4px;color:#0f9aa7;font-size:.88rem}.qca-profile-kpis .rating>strong{color:#7c3aed;font-size:1.1rem}.qca-profile-kpis .today>strong{color:#1769ff}.qca-profile-kpis .today.absent>strong{color:#dc2626}.qca-profile-kpis .today.late>strong{color:#d97706}.qca-profile-kpis strong small{font-size:.52rem}.qca-profile-kpis>article>em{color:var(--text-soft,#64748b);font-size:.42rem;font-style:normal}.qca-profile-stars{display:flex;gap:2px;color:#7c3aed;font-size:.52rem}
.qca-academic-profile-v381 .qca-profile-section{border-radius:14px;box-shadow:0 3px 12px rgba(15,23,42,.04)}.qca-academic-profile-v381 .qca-profile-section>header{min-height:48px;padding:8px 10px}.qca-academic-profile-v381 .qca-profile-section>header>div{display:flex;align-items:center;gap:7px}.qca-academic-profile-v381 .qca-profile-section>header>div>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:#1769ff}.qca-academic-profile-v381 .qca-profile-section>header h4{font-size:.62rem}.qca-academic-profile-v381 .qca-profile-section>header>em{font-size:.46rem}
.qca-academic-profile-v381 .qca-academic-graph{position:relative;padding:6px 8px 10px}.qca-academic-profile-v381 .qca-exam-legend{display:flex;justify-content:flex-end;gap:10px;margin-bottom:2px;color:var(--text-soft,#64748b);font-size:.38rem}.qca-exam-legend span{display:flex;align-items:center;gap:4px}.qca-exam-legend i{width:13px;height:2px;background:#1769ff}.qca-exam-legend i.unpublished{border-top:1px dashed #1769ff;background:transparent}.qca-academic-profile-v381 .qca-academic-graph svg{height:auto}.qca-academic-profile-v381 .qca-academic-graph svg .grid line{stroke:var(--qcm-line)}.qca-academic-profile-v381 .qca-academic-graph svg polyline.published{stroke:#1769ff}.qca-academic-profile-v381 .qca-academic-graph svg polyline.unpublished{fill:none;stroke:#1769ff;stroke-width:2;stroke-dasharray:5 4}.qca-academic-profile-v381 .qca-academic-graph svg circle.published{fill:#1769ff;stroke:#fff}.qca-academic-profile-v381 .qca-academic-graph svg circle.unpublished{fill:var(--qcm-card);stroke:#1769ff}.qca-academic-profile-v381 .qca-academic-graph svg text{fill:var(--text,#172033);font-size:8px;font-weight:800}.qca-exam-labels{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}.qca-exam-labels span{font-size:.38rem!important}
.qca-latest-analysis>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.qca-latest-analysis>div>article{min-width:0;min-height:65px;display:grid;align-content:center;justify-items:center;gap:6px;padding:6px 4px;border-radius:10px;background:#f5f0ff;text-align:center}.qca-latest-analysis>div>article.teal{background:#eafafa}.qca-latest-analysis>div>article.blue{background:#edf5ff}.qca-latest-analysis>div>article.orange{background:#fff5eb}.qca-latest-analysis article small{font-size:.38rem}.qca-latest-analysis article strong{max-width:100%;overflow:hidden;color:#7c3aed;font-size:.64rem;line-height:1.15;text-overflow:ellipsis}.qca-latest-analysis article.teal strong{color:#0797a5}.qca-latest-analysis article.blue strong{color:#1769ff}.qca-latest-analysis article.orange strong{color:#f97316}
.qca-academic-profile-v381 .qca-subject-marks{gap:9px;padding:10px}.qca-academic-profile-v381 .qca-subject-marks article{min-height:24px;display:grid;grid-template-columns:minmax(75px,.72fr) minmax(80px,1.7fr) auto;gap:8px;padding:0;border:0}.qca-academic-profile-v381 .qca-subject-marks article>strong{overflow:hidden;font-size:.49rem;text-overflow:ellipsis;white-space:nowrap}.qca-academic-profile-v381 .qca-subject-marks article>i{height:5px;overflow:hidden;border-radius:999px;background:#e5e7eb}.qca-academic-profile-v381 .qca-subject-marks article>i>b{height:100%;display:block;border-radius:inherit;background:#1769ff}.qca-academic-profile-v381 .qca-subject-marks article>i>b.teal{background:#0f9fa8}.qca-academic-profile-v381 .qca-subject-marks article>i>b.purple{background:#7c3aed}.qca-academic-profile-v381 .qca-subject-marks article>i>b.orange{background:#f97316}.qca-academic-profile-v381 .qca-subject-marks article>span{font-size:.46rem;font-weight:800}.qca-academic-profile-v381 .qca-subject-marks article>span.low{color:#f97316}
.qca-academic-profile-v381 .qca-rating-components{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px 4px}.qca-academic-profile-v381 .qca-rating-components article{position:relative;min-height:86px;display:grid;align-content:center;justify-items:center;gap:6px;padding:4px 3px;border:0;border-radius:0;background:transparent}.qca-academic-profile-v381 .qca-rating-components article+article:before{position:absolute;top:7px;bottom:7px;left:0;width:1px;background:var(--qcm-line);content:""}.qca-academic-profile-v381 .qca-rating-components article>i{color:#1769ff;font-size:.75rem}.qca-academic-profile-v381 .qca-rating-components .tone-1>i{color:#0f9fa8}.qca-academic-profile-v381 .qca-rating-components .tone-2>i{color:#16a34a}.qca-academic-profile-v381 .qca-rating-components .tone-3>i{color:#f59e0b}.qca-academic-profile-v381 .qca-rating-components .tone-4>i{color:#7c3aed}.qca-academic-profile-v381 .qca-rating-components small{min-height:2.3em;font-size:.36rem;line-height:1.15}.qca-academic-profile-v381 .qca-rating-components strong{color:#475569;font-size:.58rem}.qca-academic-profile-v381 .qca-rating-components strong i{color:#7c3aed;font-size:.45rem}
.qca-profile-attendance-layout{display:grid;grid-template-columns:1.06fr .94fr;gap:8px;padding:9px}.qca-profile-attendance-layout>section{min-width:0}.qca-profile-attendance-layout h5{margin:0 0 6px;color:#0797a5;font-size:.43rem}.qca-profile-attendance-chart svg{width:100%;display:block}.qca-profile-attendance-chart svg line{stroke:var(--qcm-line)}.qca-profile-attendance-chart svg polyline{fill:none;stroke:#0f9fa8;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.qca-profile-attendance-chart svg circle{fill:#0f9fa8;stroke:#fff;stroke-width:1.5}.qca-profile-attendance-chart svg text{fill:var(--text,#172033);font-size:7px;font-weight:700;text-anchor:middle}.qca-profile-attendance-chart>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.qca-profile-attendance-chart>div span{color:var(--text-soft,#64748b);font-size:.34rem;text-align:center}.qca-academic-profile-v381 .qca-last-attendance{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0}.qca-academic-profile-v381 .qca-last-attendance article{min-width:0;min-height:41px;gap:2px;padding:3px 1px;border-radius:8px}.qca-academic-profile-v381 .qca-last-attendance article.late{border-color:#fed7aa;background:#fff7ed}.qca-academic-profile-v381 .qca-last-attendance span{font-size:.55rem}.qca-academic-profile-v381 .qca-last-attendance .late span{color:#d97706}.qca-academic-profile-v381 .qca-last-attendance strong{font-size:.3rem;white-space:nowrap}.qca-attendance-legend{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;color:var(--text-soft,#64748b);font-size:.31rem}.qca-attendance-legend span{display:flex;align-items:center;gap:3px}.qca-attendance-legend i{width:7px;height:7px;border-radius:2px;background:#16a34a}.qca-attendance-legend i.absent{background:#ef4444}.qca-attendance-legend i.late{background:#f59e0b}.qca-profile-record-note{margin:0;color:var(--text-soft,#64748b);font-size:.42rem;text-align:center}
:root[data-theme="dark"] .qca-academic-profile-v381 .qca-profile-person>div>span{background:#173a2b;color:#67dc97}:root[data-theme="dark"] .qca-latest-analysis>div>article{background:#352b46}:root[data-theme="dark"] .qca-latest-analysis>div>article.teal{background:#17383b}:root[data-theme="dark"] .qca-latest-analysis>div>article.blue{background:#243344}:root[data-theme="dark"] .qca-latest-analysis>div>article.orange{background:#3b3025}:root[data-theme="dark"] .qca-academic-profile-v381 .qca-last-attendance article{background:#173a2b}:root[data-theme="dark"] .qca-academic-profile-v381 .qca-last-attendance article.absent{background:#452828}:root[data-theme="dark"] .qca-academic-profile-v381 .qca-last-attendance article.late{background:#42341f}
@media(max-width:420px){.qca-academic-profile-v381{padding:8px 8px 20px}.qca-profile-kpis>article{min-height:106px;padding-inline:4px}.qca-profile-kpis header{align-items:flex-start;flex-direction:column}.qca-profile-kpis header>span{width:25px;height:25px;flex-basis:25px}.qca-profile-kpis header b{min-height:2.25em;text-align:left}.qca-profile-kpis>article>strong{font-size:.77rem}.qca-profile-kpis .rating>strong{font-size:1rem}.qca-latest-analysis>div{gap:4px;padding:6px}.qca-latest-analysis>div>article{min-height:61px;padding-inline:2px}.qca-academic-profile-v381 .qca-rating-components{padding-inline:2px}.qca-academic-profile-v381 .qca-rating-components article{padding-inline:1px}.qca-profile-attendance-layout{gap:6px;padding:7px}.qca-academic-profile-v381 .qca-subject-marks article{grid-template-columns:minmax(64px,.72fr) minmax(65px,1.55fr) auto}}

/* v382 — compact upcoming rows, bounded Calendar scrolling and centered
   Academic Profile summary content. */
.qca-calendar-sheet>[data-qca-calendar-body]{min-height:0;display:flex;flex:1;flex-direction:column;overflow:hidden}
.qca-calendar-sheet .qca-calendar-toolbar{position:relative;top:auto;flex:0 0 auto}
.qca-calendar-sheet .qca-calendar-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:18px}
.qca-calendar-toggle button{display:grid;place-items:center;padding:0;text-align:center;font-size:.66rem;line-height:1}
.qca-academic-profile-v381 .qca-profile-person>div>small{color:var(--text-soft,#64748b);font-size:.5rem;font-weight:750}
@media(max-width:599px){
  .qca-event-list{gap:5px}
  .qca-event-list article{min-height:34px;grid-template-columns:24px minmax(0,1fr) auto;gap:5px;padding:4px 7px;border-radius:9px}
  .qca-event-list article>span{width:23px;height:23px;border-radius:7px;font-size:.58rem}
  .qca-event-list article>div{gap:0}.qca-event-list strong{font-size:.52rem}.qca-event-list small{font-size:.38rem}
  .qca-event-list time{grid-column:3;font-size:.42rem;white-space:nowrap;text-align:right}
  .qca-calendar-toggle{height:38px}.qca-calendar-toggle button{font-size:.7rem}
}
@media(max-width:420px){
  .qca-profile-kpis header{align-items:center;justify-content:center;flex-direction:column;text-align:center}
  .qca-profile-kpis header b{min-height:2.25em;text-align:center}
}

/* v406 — the four locked Academic Incharge/HOD dashboard changes only. */
.qhod-operational-view-only .qhod-operational-table-head,.qhod-operational-view-only .qhod-operational-row{grid-template-columns:minmax(0,1.55fr) minmax(58px,.62fr) minmax(68px,.72fr)}
.qhod-operational-view-only .qhod-operational-row{cursor:default}
.qcm-class-analysis .qhod-studentmix-dashboard-open{grid-template-columns:10px minmax(0,1fr)}
.qcm-class-analysis .qhod-studentmix-dashboard-open>span{display:grid;gap:3px}
.qcm-class-analysis .qhod-studentmix-dashboard-open>span>strong{color:var(--text,#172033);font-size:14px;font-weight:700}
.qcm-class-analysis .qhod-studentmix-dashboard-open>span>small{display:block;color:var(--text-soft,#64748b);font-size:12px;font-weight:400}
.qhod-upcoming-union article>div>em{overflow:hidden;color:var(--text-soft,#64748b);font-size:.4rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.qhod-calendar-union-list article{grid-template-columns:minmax(0,1.15fr) minmax(72px,.68fr) minmax(88px,.82fr)}
.qhod-calendar-union-list .qhod-calendar-event-main{min-width:0;display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px}
.qhod-calendar-union-list .qhod-calendar-event-main>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#dbeafe;color:#1769ff}
.qhod-calendar-union-list .qhod-calendar-event-main>span.purple{background:#f1eaff;color:#7c3aed}.qhod-calendar-union-list .qhod-calendar-event-main>span.red{background:#fee2e2;color:#dc2626}.qhod-calendar-union-list .qhod-calendar-event-main>span.orange{background:#ffedd5;color:#ea580c}.qhod-calendar-union-list .qhod-calendar-event-main>span.green{background:#dcfce7;color:#15803d}.qhod-calendar-union-list .qhod-calendar-event-main>span.pink{background:#fce7f3;color:#db2777}
.qhod-calendar-union-list .qhod-calendar-event-copy{min-width:0;display:grid;gap:3px}
.qhod-calendar-union-list .qhod-calendar-audience{min-width:0;color:var(--text-soft,#64748b);font-size:.46rem;font-style:normal;font-weight:750;line-height:1.2;text-align:right}
@media(max-width:560px){
  .qhod-operational-view-only .qhod-operational-table-head,.qhod-operational-view-only .qhod-operational-row{grid-template-columns:minmax(0,1.45fr) minmax(50px,.62fr) minmax(58px,.72fr)}
  .qcm-class-analysis .qhod-studentmix-dashboard-open{grid-template-columns:8px minmax(0,1fr)}
  .qcm-class-analysis .qhod-studentmix-dashboard-open>span>strong{font-size:14px}
  .qcm-class-analysis .qhod-studentmix-dashboard-open>span>small{font-size:12px}
  .qhod-upcoming-union article>div>em{font-size:.36rem}
  .qhod-calendar-union-list article{grid-template-columns:minmax(0,1fr) 68px 76px;gap:4px;padding:7px 6px}
  .qhod-calendar-union-list .qhod-calendar-event-main{grid-template-columns:24px minmax(0,1fr);gap:5px}
  .qhod-calendar-union-list .qhod-calendar-event-main>span{width:23px;height:23px;border-radius:7px;font-size:.58rem}
  .qhod-calendar-union-list time{grid-column:2;white-space:normal;text-align:center}
  .qhod-calendar-union-list .qhod-calendar-audience{font-size:.4rem;text-align:right}
}
