/* The reference theme shared by administrative and student workspaces. */
.admin-workspace .sidebar-note { min-height:0; padding:14px 18px; margin-top:18px; }
.admin-workspace .sidebar-note p,.admin-workspace .teacher-note-star { display:none; }
.admin-workspace .sidebar-note button { height:34px; margin-top:8px; }
.admin-workspace .sidebar-note strong { margin:0; }
.admin-dashboard .teacher-subject-heading { min-height:125px; padding-top:19px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:10px 0 24px; }
.admin-stat { display:flex; align-items:center; text-align:left; gap:14px; padding:17px; border:2px solid #fff; border-radius:14px; color:#14243e; background:#fff; min-width:0; box-shadow:0 3px 18px #24497804; }
.admin-stat>span:nth-child(2) { display:flex; flex-direction:column; gap:1px; }
.admin-stat strong { font-size:28px; line-height:1.15; }
.admin-stat>span>span { font-size:13px; color:#6d7f97; }
.admin-stat>svg { width:17px; height:17px; margin-left:auto; color:#6c829e; }
.admin-stat .teacher-card-icon { width:44px; height:44px; flex-shrink:0; }
.admin-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 13px; }
.admin-section-heading h2 { font-size:20px; letter-spacing:-.4px; margin:0; color:#102043; }
.admin-section-heading>span { color:#8290a7; font-size:12px; }
.admin-shortcut-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.admin-shortcut { padding:18px; border:2px solid #fff; border-radius:14px; min-width:0; }
.admin-shortcut .teacher-card-icon { width:34px; height:34px; margin-bottom:12px; }
.admin-shortcut h3 { font-size:17px; margin:0 0 7px; letter-spacing:-.3px; }
.admin-shortcut p { font-size:13px; line-height:1.55; color:#708099; margin:0 0 12px; }
.admin-shortcut-link { display:inline-flex; align-items:center; gap:8px; border:0; background:none; padding:0; text-align:left; font-weight:700; color:#0b50b6; font-size:14px; line-height:1.5; }
.admin-shortcut-link:hover { text-decoration:underline; }
.admin-recent { padding:17px 20px; margin-bottom:12px; background:#ffffffdf; border:1px solid #e0e8f4; border-radius:15px; }
.admin-recent .admin-section-heading { margin-bottom:3px; }
.admin-recent-list article { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #edf1f8; }
.admin-recent-list article:last-child { border:0; padding-bottom:2px; }
.admin-recent-icon { display:grid; place-items:center; flex-shrink:0; width:34px; height:36px; border-radius:8px; background:#edf3ff; color:#255cb3; }
.admin-recent-icon svg { width:20px; height:20px; }
.admin-recent-list article>div { min-width:0; margin-right:auto; }
.admin-recent-list strong { display:block; font-size:14px; overflow-wrap:anywhere; }
.admin-recent-list article>div>span { display:block; margin-top:3px; font-size:12px; color:#8291a8; }
.admin-workspace .admin-recent .portal-btn { font-size:14px; padding:8px 12px; min-height:36px; }
.admin-workspace .admin-recent .status-badge { font-size:11px; }
.admin-workspace .teacher-subjects+section { margin-top:20px; }
.student-shell { min-height:100vh; background:radial-gradient(ellipse at 95% 0%,#e3edfccc,transparent 45%),#f5f7fd; color:#102044; }
.student-header { padding:0; background:linear-gradient(110deg,#142438,#203d72); color:#fff; box-shadow:0 2px 10px #1939600c; }
.student-header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; max-width:1420px; margin:auto; padding:12px 28px; }
.student-brand { display:flex; gap:11px; align-items:center; font-size:25px; line-height:1.1; letter-spacing:-.6px; font-weight:800; color:#fff; text-decoration:none; }
.student-brand small { display:block; color:#b8c8df; font-size:8px; letter-spacing:2px; margin-top:5px; }
.student-account { display:flex; align-items:center; gap:10px; }
.student-account strong { font-size:15px; line-height:1.4; display:block; color:#fff; }
.student-account small { font-size:12px; color:#bdcce2; display:block; margin-top:2px; }
.student-account .portal-avatar { width:35px; height:35px; border:2px solid #fff; background:#ffdf61; color:#17315d; }
.student-signout { margin-left:14px; background:#ffffffee; color:#294368; border:0; border-radius:22px; min-height:38px; padding:8px 19px; font-size:14px; }
.student-main { width:100%; max-width:1420px; margin:0 auto; padding:20px 28px 10px; min-height:calc(100vh - 72px); display:flex; flex-direction:column; }
.student-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 18px; min-height:68px; }
.student-heading h1 { font-size:30px; letter-spacing:-.7px; line-height:1.2; font-weight:800; margin:0 0 5px; }
.student-heading h1 span { color:#0050ca; }
.student-heading p { margin:0; color:#7989a2; font-size:14px; }
.student-tabs { margin:0; gap:10px; border:0; }
.student-tabs .learner-exam-tab { min-height:48px; padding:11px 18px; font-size:16px; gap:10px; box-shadow:0 2px 8px #31538804; }
.student-tabs .learner-exam-tab.active { color:#0749a3; background:linear-gradient(105deg,#fff,#dbedff); border-color:#bad6fa; }
.student-tabs .learner-tab-count { font-size:12px; background:#e5edfc; }
.student-tabs .learner-exam-tab.active .learner-tab-count { background:#0a55bd; color:#fff; }
.student-subject-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.student-shell .student-subject-card { min-height:220px; padding:16px 18px 64px; }
.student-shell .student-subject-card:nth-child(n) { min-height:220px; }
.student-shell .teacher-card-icon { width:34px; height:34px; border-radius:10px; font-size:24px; }
.student-shell .teacher-card-icon svg { width:20px; height:20px; }
.student-shell .teacher-card-top { margin-bottom:10px; }
.student-shell .teacher-card-grade { font-size:11px; }
.student-shell .student-subject-card h2 { max-width:100%; font-size:18px; line-height:1.3; margin:0; letter-spacing:-.4px; font-weight:800; overflow-wrap:anywhere; }
.student-shell .student-exam-title { max-width:90%; margin:6px 0 4px; font-size:13px; line-height:1.4; color:#61728e; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.student-exam-meta { position:relative; z-index:1; display:block; color:#71829c; font-size:13px; }
.student-shell .teacher-subject-art { opacity:.65; mask-image:linear-gradient(90deg,transparent,#000 50%); }
.student-card-bottom { position:absolute; bottom:14px; left:18px; right:18px; display:flex; align-items:center; justify-content:space-between; gap:8px; z-index:1; }
.student-exam-status { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:650; color:#55718d; line-height:1.3; }
.student-exam-status i { width:5px; height:5px; background:currentColor; border-radius:50%; flex-shrink:0; }
.student-exam-status.submitted { color:#27784f; padding:7px 10px; border-radius:7px; background:#e8f8eeed; }
.student-exam-status.in-progress { color:#0047b4; }
.student-start { display:flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:9px 13px; border:0; border-radius:9px; background:#0755bd; color:#fff; font-size:16px; font-weight:700; white-space:nowrap; box-shadow:0 3px 9px #0b4da523; }
.student-start:hover { background:#003b98; }
.student-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding:13px 0 0; border:0; color:#8a98af; font-size:11px; }
.student-footer>span:first-child { display:flex; align-items:center; gap:6px; }
.student-footer svg { width:18px; height:18px; color:#6980a1; }
.student-footer b { color:#617695; font-size:12px; }
.student-footer>span>span { border-left:1px solid #d7e0ee; padding-left:8px; margin-left:3px; }
.student-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:14px; }
.student-pagination button { border:1px solid #d7e1f1; background:#fff; color:#174a90; border-radius:9px; min-height:42px; padding:10px 16px; font-size:15px; font-weight:600; }
.student-pagination button:disabled { opacity:.45; cursor:default; }
.student-pagination span { font-size:13px; color:#72849e; }
.student-empty { padding:50px 20px; min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid #dce6f5; border-radius:16px; background:linear-gradient(130deg,#fff,#eaf5fd); }
.student-empty .teacher-brand-mark { width:48px; height:48px; }
.student-empty h2 { margin:15px 0 7px; color:#264972; font-size:23px; }
.student-empty p { margin:0; font-size:15px; line-height:1.6; color:#7286a4; }
@media(max-width:1250px) {
  .admin-stat-grid,.admin-shortcut-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-subject-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .student-main { padding-top:16px; }
}
@media(max-width:899px) {
  .student-subject-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-heading { align-items:flex-start; flex-wrap:wrap; gap:14px; }
  .student-heading h1 { font-size:27px; }
  .student-tabs { width:100%; }
  .student-tabs .learner-exam-tab { flex:1; }
  .student-header-inner { padding:12px 20px; }
  .student-brand { font-size:23px; }
  .student-account strong { font-size:13px; }
  .student-account small { font-size:11px; }
  .student-signout { margin-left:4px; padding:8px 14px; }
  .student-footer>span:last-child { display:none; }
}
@media(max-width:679px) {
  .student-header-inner { padding:12px 16px; min-height:68px; gap:10px; }
  .student-brand { font-size:21px; gap:8px; }
  .student-brand .teacher-brand-mark { width:33px; height:33px; }
  .student-brand small { font-size:6px; letter-spacing:1.2px; }
  .student-account { gap:7px; }
  .student-account .portal-avatar { display:none; }
  .student-account strong { max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
  .student-account small { font-size:10px; }
  .student-signout { font-size:12px; min-height:36px; padding:8px 11px; }
  .student-main { padding:16px 16px 10px; min-height:calc(100vh - 68px); }
  .student-heading { margin-bottom:14px; }
  .student-heading h1 { font-size:27px; }
  .student-heading p { font-size:12px; }
  .student-tabs .learner-exam-tab { font-size:14px; padding:10px 9px; min-height:46px; gap:7px; }
  .student-subject-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .student-shell .student-subject-card:nth-child(n) { min-height:202px; padding-top:14px; }
  .student-shell .teacher-card-top { margin-bottom:6px; }
  .student-shell .student-subject-card h2 { font-size:18px; max-width:100%; }
  .student-footer { font-size:10px; padding-top:14px; }
  .admin-section-heading { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .admin-section-heading>span { display:none; }
  .admin-dashboard .teacher-subject-heading { min-height:140px; }
  .admin-stat-grid { gap:10px; margin-bottom:19px; }
  .admin-stat { padding:13px 11px; gap:9px; }
  .admin-stat>svg { display:none; }
  .admin-stat .teacher-card-icon { width:33px; height:33px; }
  .admin-stat strong { font-size:24px; }
  .admin-stat>span>span { font-size:11px; }
  .admin-shortcut-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .admin-shortcut { padding:16px; }
  .admin-recent { padding:15px; }
  .admin-recent-list article { flex-wrap:wrap; }
  .admin-recent-list article>div { flex:1; }
  .admin-workspace .admin-recent .status-badge { display:none; }
}
