﻿/* TeachersLiveV2 FINAL POLISH FIX3 */

/* Unified login: larger on desktop, still compact on phones */
.tl-final-login-card{width:min(100%,620px);padding:2rem 2.25rem;border-radius:28px}
.tl-final-login-card .tl-brand-logo{max-height:64px}
.tl-final-login-card>h1{font-size:2rem}
.tl-final-login-card .form-control{min-height:50px}
.tl-final-login-card .btn{min-height:48px}
.tl-final-role-tabs a{padding:.7rem .6rem;font-size:1rem}

/* Portal icons: one visual language, different glyph per destination */
.tl8d-desktop-links .nav-link,.tl8d-mobile-links a{display:flex;align-items:center;gap:.45rem}
.tl-portal-icon{display:inline-grid;place-items:center;width:1.25rem;min-width:1.25rem;font-size:1rem;line-height:1}

/* Small unobtrusive footer for Student/Teacher portals */
.tl-fix3-portal-footer{display:flex;justify-content:center;align-items:center;gap:.7rem 1rem;flex-wrap:wrap;padding:.55rem 1rem;border-top:1px solid #edf1ef;background:#fff;color:#82908a;font-size:.68rem}
.tl-fix3-footer-links{display:flex;gap:.65rem}.tl-fix3-footer-links a{color:#60716a;text-decoration:none}

/* Profile */
.tl-fix3-profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.tl-fix3-profile-summary>div{padding:.8rem;border:1px solid #e2e9e5;border-radius:14px;background:#f8faf9}
.tl-fix3-profile-summary span,.tl-fix3-profile-summary strong{display:block}.tl-fix3-profile-summary span{font-size:.7rem;color:#7a8882;margin-bottom:.2rem}
.tl-fix3-readonly-field{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1rem;border:1px dashed #d9e2de;border-radius:12px;background:#f7f9f8}
.tl-fix3-readonly-field span{font-weight:800;color:#0b213c}.tl-fix3-readonly-field small{color:#7b8883}
.tl-fix3-step{display:flex;gap:.7rem;align-items:center;padding:.75rem;border-radius:14px;background:#f7f9f8}
.tl-fix3-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8eeeb;font-weight:900}.tl-fix3-step div>*{display:block}
.tl-fix3-step small{color:#7c8984}.tl-fix3-step.active{background:#eef8f4}.tl-fix3-step.active>span{background:#0d7357;color:#fff}.tl-fix3-step.done>span{background:#dff3e9;color:#0d7357}

/* History mobile cards must remain visible and stats are 2x2 on Teacher mobile */
@media(max-width:767.98px){
  .tl8e-history-list{display:grid!important;gap:.65rem}
  .tl8e-history-stats .tl-stat{min-height:82px}
}

/* DataTable sorting indicators */
.tl-dt-sortable{cursor:pointer;user-select:none;position:relative;padding-inline-end:1.4rem!important}
.tl-dt-sortable::after{content:"↕";position:absolute;inset-inline-end:.45rem;opacity:.32;font-size:.8rem}
.tl-dt-sortable.sort-asc::after{content:"↑";opacity:1}.tl-dt-sortable.sort-desc::after{content:"↓";opacity:1}

/* Student subject action row */
.tl-fix3-subject-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.55rem}
.tl-fix3-subject-actions>a{display:flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap}

/* Student Dashboard */
.tl-fix3-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.tl-fix3-class-grid .tl-final-class-row{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;min-width:0}
.tl-fix3-class-grid .tl-final-class-time{font-size:.72rem;color:#64736d}
.tl-fix3-class-grid .tl-final-class-status{align-self:flex-start}
.tl-fix3-class-grid .tl-final-class-actions{margin-top:auto}
.tl-fix3-class-grid .tl-final-class-actions .btn{width:100%}
.tl8e-dashboard-subjects{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.65rem!important}

/* Teacher live roster: each student is one compact horizontal row and list scrolls */
.tl-classroom-panel{min-height:0}
.tl-participant-list{max-height:62vh;overflow-y:auto;overscroll-behavior:contain}
.tl-participant-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:.7rem;padding:.6rem 0}
.tl-participant-name-row{margin-bottom:0;min-width:0}
.tl-participant-actions{flex-wrap:nowrap;margin-top:0!important;justify-content:flex-end}
.tl-participant-actions .btn{white-space:nowrap}

/* Inline PDF/video viewer */
.tl-fix3-viewer-stage{position:relative;min-height:260px;background:#f5f7f6}
.tl-fix3-viewer-loading,.tl-fix3-viewer-error{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:.6rem;background:rgba(247,249,248,.96);text-align:center}
.tl-fix3-viewer-error span{color:#7b8883;font-size:.8rem}

@media(max-width:991.98px){
  .tl-fix3-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-participant-row{grid-template-columns:1fr}
  .tl-participant-actions{justify-content:flex-start;overflow-x:auto;padding-bottom:.2rem}
}
@media(max-width:767.98px){
  .tl-final-login-card{padding:1.35rem;width:min(100%,460px)}
  .tl-final-login-card>h1{font-size:1.65rem}
  .tl-fix3-class-grid{grid-template-columns:1fr}
  .tl8e-dashboard-subjects{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tl-fix3-profile-summary{grid-template-columns:1fr}
  .tl-fix3-readonly-field{align-items:flex-start;flex-direction:column;gap:.15rem}
  .tl-fix3-subject-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
