.appLayout{background:#f5f6fa;flex-direction:column;width:100%;height:100vh;display:flex;position:fixed;inset:0;overflow:hidden}.appLayout__topbar{flex-shrink:0;width:100%}.appLayout,.appLayout__body,.appLayout__main{width:100%}.appLayout__body{flex:1;width:100%;display:flex;overflow:hidden}.appLayout__main{-webkit-overflow-scrolling:touch;background:#f5f6fa;flex:1;min-width:0;overflow:hidden auto}.appLayout__content{padding:32px}.appLayout__backdrop{display:none}.appSidebar{background:linear-gradient(#6d28d9 0%,#7c3aed 100%);flex-direction:column;flex-shrink:0;width:240px;height:calc(100vh - 72px);display:flex;top:72px;overflow:hidden}.appSidebar__brand{color:#fff;border-bottom:1px solid #ffffff26;padding:20px;font-size:22px;font-weight:700}.appSidebar__nav{flex:1;padding:16px;overflow-y:auto}.appSidebar__link{color:#fff;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:all .2s;display:flex}.appSidebar__label{flex:1}.appSidebar__badge{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:800;line-height:1}.appSidebar__link:hover{color:#fff;background:#1c89ff}.appSidebar__link--active{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 20px #2563eb66}.appSidebar__footer{border-top:1px solid #ffffff26;flex-shrink:0;padding:16px}.appSidebar__user{color:#9ca3af;margin-bottom:10px;font-size:14px}.appSidebar__logout{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.appSidebar__logout:hover{color:#fff;background:#1c89ff}.appTopbar{z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:72px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0f172a14}.appTopbar__left{align-items:center;gap:10px;display:flex}.appTopbar__logo{height:70px;display:block}@media (width<=768px){.appTopbar__logo{display:none}}.appTopbar__center{position:absolute;left:50%;transform:translate(-50%)}.appTopbar__start{align-items:center;gap:12px;display:flex}.appTopbar__title{color:#111827;font-size:18px;font-weight:700}.appTopbar__actions{align-items:center;gap:12px;display:flex}.appTopbar__actions--desktop{display:flex}.appTopbar__welcome{color:#4b5563}.appTopbar__menuButton,.appTopbar__logout{cursor:pointer;border:none;border-radius:10px;padding:8px 14px}.appTopbar__menuButton{color:#111827;background:#e5e7eb;display:none}.appTopbar__logout{color:#fff;background:linear-gradient(135deg,#7c3aed,#9333ea)}@media (width<=900px){.appLayout__body{display:block;overflow-y:visible}.appLayout__content{padding:20px 16px 24px}.appTopbar{padding:0 16px}.appTopbar__actions--desktop{display:none}.appTopbar__menuButton{justify-content:center;align-items:center;font-size:18px;display:inline-flex}.appTopbar__title{font-size:16px}.appSidebar{z-index:40;transition:transform .25s;position:fixed;top:72px;bottom:0;left:0;transform:translate(-100%);box-shadow:0 20px 40px #0f172a3d}.appSidebar__link{color:#ffffffd9;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .2s;display:flex}.appSidebar__icon{opacity:.9;flex-shrink:0}.appSidebar--open{transform:translate(0)}.appLayout__backdrop{z-index:30;background:#0f172a6b;border:none;display:block;position:fixed;inset:0}}@media (width<=540px){.appTopbar__title{font-size:15px}.appSidebar__user{font-size:13px}.appSidebar__logout{padding:9px;font-size:14px}}.appSidebar__nav::-webkit-scrollbar{width:4px}.appSidebar__nav::-webkit-scrollbar-track{background:0 0}.appSidebar__nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.appSidebar__nav::-webkit-scrollbar-thumb:hover{background:#fff9}.appSidebar__nav{scrollbar-width:thin;scrollbar-color:#fff6 transparent}.dashboard-page{gap:22px;min-width:0;display:grid}.dashboard-hero h1{margin:0;font-size:30px}.dashboard-hero p,.dashboard-muted,.dashboard-empty,.dashboard-cardHeader p,.dashboard-listMeta{color:#64748b}.dashboard-chip{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.dashboard-admissionMenu{position:relative}.dashboard-admissionButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#9333ea);border:none;border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #4f46e52e}.dashboard-admissionDropdown{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-width:180px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 34px #0f172a24}.dashboard-admissionDropdownItem{text-align:left;color:#0f172a;cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;padding:11px 12px;font-weight:600}.dashboard-admissionDropdownItem:hover{background:#f8fafc}.dashboard-inlinePanel{gap:16px;display:grid}.dashboard-inlinePanelHeader{background:#fff;border:1px solid #e5e7eb;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex;box-shadow:0 10px 30px #0f172a0f}.dashboard-inlinePanelHeader h2{margin:0}.dashboard-inlinePanelHeader p{color:#64748b;margin:8px 0 0}.dashboard-inlinePanelClose{color:#111827;cursor:pointer;background:#f3f4f6;border:none;border-radius:12px;padding:10px 14px;font-weight:700}.dashboard-inlineMessage{border-radius:14px;padding:14px 16px;font-weight:600}.dashboard-inlineMessage.success{color:#166534;background:#ecfdf5}.dashboard-inlineMessage.error{color:#b91c1c;background:#fef2f2}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}@media (width>=1200px){.dashboard-stats--studentParent{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stats--studentParent .dashboard-statCard{padding:20px}.dashboard-stats--studentParent .dashboard-statValue{font-size:clamp(1.8rem,2.4vw,2.3rem)}.dashboard-stats--studentParent .dashboard-statSubvalue{font-size:13px}}@media (width>=1400px){.dashboard-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-statCard{padding:16px}.dashboard-statValue{font-size:clamp(1.45rem,2vw,1.9rem)}.dashboard-statSubvalue{font-size:12px}}.dashboard-statCard,.dashboard-panel{background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 12px 30px #0f172a0f}.dashboard-statCard{min-width:0;padding:18px;position:relative;overflow:hidden}.dashboard-statHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-statCard:before{content:"";background:var(--accent-color,#1d4ed8);width:4px;position:absolute;inset:0 auto 0 0}.dashboard-statLabel{color:#64748b;font-size:13px;font-weight:700}.dashboard-statIcon{background:var(--accent-soft,#2563eb1a);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.dashboard-statValue{color:#0f172a;overflow-wrap:anywhere;margin-top:10px;font-size:clamp(1.75rem,3vw,1.25rem);font-weight:800}.dashboard-statSubvalue{color:#64748b;margin-top:8px;font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.dashboard-insights{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;display:grid}.dashboard-chartCard,.dashboard-chartCardWide{min-width:0}.dashboard-chartCardFull{grid-column:1/-1}.dashboard-chartMeta{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.dashboard-chartPill{color:#5b6474;background:#f8fafc;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.dashboard-chartPill.positive{color:#15803d;background:#ecfdf5}.dashboard-chartPill.negative{color:#dc2626;background:#fff1f2}.dashboard-chartArea{min-width:0;position:relative}.teacher-dashboard__hero{align-items:stretch}.teacher-dashboard__heroCopy{align-content:start;gap:10px;max-width:700px;display:grid}.teacher-dashboard__attendanceCard{gap:16px;min-width:min(360px,100%);padding:22px;display:grid}.teacher-dashboard__attendanceHeader{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.teacher-dashboard__status{margin-top:8px;font-size:1.8rem;font-weight:800}.teacher-dashboard__status--idle{color:#9f1239}.teacher-dashboard__status--in{color:#15803d}.teacher-dashboard__status--out{color:#b45309}.teacher-dashboard__locationHint{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;display:inline-flex}.teacher-dashboard__timer{justify-content:center;align-items:center;gap:10px;display:flex}.teacher-dashboard__timer div{text-align:center;color:#0f172a;background:#f8fafc;border-radius:18px;min-width:84px;padding:16px 12px;font-size:2.1rem;font-weight:800}.teacher-dashboard__timer span{color:#475569;font-size:2rem;font-weight:800}.teacher-dashboard__attendanceMeta{color:#64748b;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.teacher-dashboard__attendanceActions{flex-wrap:wrap;gap:12px;display:flex}.teacher-dashboard__primaryButton,.teacher-dashboard__secondaryButton{cursor:pointer;border:none;border-radius:14px;padding:14px 18px;font-weight:700}.teacher-dashboard__primaryButton{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e)}.teacher-dashboard__secondaryButton{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.teacher-dashboard__primaryButton:disabled,.teacher-dashboard__secondaryButton:disabled{cursor:not-allowed;opacity:.6}.teacher-dashboard__insights{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.teacher-dashboard__barChart{min-height:320px}.teacher-dashboard__pendingList{gap:14px;display:grid}.teacher-dashboard__pendingItem{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:auto 1fr;gap:12px;padding:16px;display:grid}.teacher-dashboard__pendingItem strong{color:#0f172a;display:block}.teacher-dashboard__pendingItem p{color:#64748b;margin:6px 0 0}@media (width<=960px){.teacher-dashboard__insights{grid-template-columns:1fr}.teacher-dashboard__timer div{min-width:68px;font-size:1.7rem}}.dashboard-chartAreaLarge{height:300px}.dashboard-chartAreaDonut{height:260px}.dashboard-chartAreaBottom{height:280px}.dashboard-doughnutWrap{gap:18px;display:grid}.dashboard-doughnutCenter{pointer-events:none;justify-items:center;gap:2px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.dashboard-doughnutCenter strong{color:#0f172a;font-size:2rem;line-height:1}.dashboard-doughnutCenter span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.dashboard-chartSummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-chartSummaryCard{border-radius:16px;gap:6px;padding:14px 16px;display:grid}.dashboard-chartSummaryCard span{font-size:13px;font-weight:700}.dashboard-chartSummaryCard strong{color:#0f172a;font-size:1.6rem}.dashboard-chartSummaryCard.success{color:#15803d;background:#ecfdf5}.dashboard-chartSummaryCard.danger{color:#dc2626;background:#fff1f2}.dashboard-chartSummaryCard.info{color:#1d4ed8;background:#eff6ff}.dashboard-distributionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-distributionCard{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;min-width:0;padding:18px;overflow:hidden}.dashboard-distributionCard h3{color:#0f172a;margin:0 0 16px}.dashboard-distributionCard canvas{max-width:100%!important}.dashboard-chartFootnotes{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dashboard-chartFootnotes span{color:#475569;background:#f8fafc;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.dashboard-stack{gap:18px;min-width:0;display:grid}.dashboard-panel{min-width:0;padding:20px}.dashboard-cardHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.dashboard-cardHeader h2{margin:0}.dashboard-list{gap:12px;display:grid}.dashboard-listItem{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.dashboard-adminTeacherAttendanceMeta{flex-shrink:0;align-content:center;justify-items:end;gap:8px;display:grid}.dashboard-listTitle{color:#0f172a;font-weight:700}.dashboard-listTitle--result{text-transform:uppercase;letter-spacing:.02em}.dashboard-listMeta{overflow-wrap:anywhere;margin-top:4px;font-size:13px}.dashboard-resultDate{color:#1d4ed8;margin-bottom:6px;font-size:13px;font-weight:700}.dashboard-priority{border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-priority.high{color:#be123c;background:#fff1f2}.dashboard-priority.medium{color:#b45309;background:#fffbeb}.dashboard-priority.low{color:#166534;background:#ecfdf5}.dashboard-tableWrap{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%;min-width:0}.dashboard-table th,.dashboard-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:14px 12px}.dashboard-table th{color:#64748b;background:#f8fafc;font-size:13px}.dashboard-badge{color:#3730a3;background:#eef2ff;border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-badge.pending{color:#b45309;background:#fffbeb}.dashboard-badge.partial{color:#1d4ed8;background:#eff6ff}.dashboard-badge.paid{color:#166534;background:#ecfdf5}.dashboard-resultScore{color:#0f172a;font-weight:700}.dashboard-empty{padding:18px 0}.dashboard-resultActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-resultNewWrap{align-items:center;gap:6px;display:inline-flex}.dashboard-resultPdfIcon{color:#ef4444;flex-shrink:0}.dashboard-badge.new{color:#166534;background:#ecfdf5}.dashboard-badge.newBatch{color:#be123c;background:#fff1f2}.dashboard-actionLink{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:none;border-radius:12px;padding:9px 12px;font-weight:700}.dashboard-actionLink.secondary{color:#334155;background:#f8fafc}.dashboard-actionLink--text{color:#1d4ed8;text-underline-offset:2px;background:0 0;border-radius:0;padding:0;text-decoration:underline}.dashboard-actionLink--reminder{white-space:nowrap;font-weight:700}@media (width<=1180px){.dashboard-insights,.dashboard-grid,.dashboard-distributionGrid{grid-template-columns:1fr}}@media (width<=720px){.dashboard-page{gap:16px}.dashboard-hero h1{font-size:2rem}.dashboard-chip{text-align:center;justify-content:center;width:100%}.dashboard-admissionMenu{width:100%}.dashboard-admissionButton{justify-content:center;width:100%}.dashboard-admissionDropdown{min-width:0;left:0;right:0}.dashboard-stats{grid-template-columns:1fr}.dashboard-panel{border-radius:18px;padding:16px}.dashboard-listItem{flex-direction:column}.dashboard-priority,.dashboard-resultActions{width:100%}.dashboard-resultActions{justify-content:flex-start}.dashboard-chartMeta{justify-content:flex-start;width:100%}.dashboard-chartAreaLarge{height:250px}.dashboard-chartAreaDonut,.dashboard-chartAreaBottom{height:220px}.dashboard-distributionCard{padding:14px}.dashboard-distributionCard h3{margin-bottom:12px;font-size:1rem}.dashboard-chartSummary{grid-template-columns:1fr}}@media (width<=560px){.dashboard-chartAreaBottom{height:180px}.dashboard-chartFootnotes{grid-template-columns:1fr;display:grid}}@media (width<=640px){.dashboard-tableWrap{margin:0 -4px;padding:0 4px 6px}.dashboard-table{min-width:620px}}@media (width<=480px){.dashboard-hero h1{font-size:1.75rem}.dashboard-statCard{padding:16px}.dashboard-actionLink{justify-content:center;width:100%}}.dashboard-greeting{color:#111827;margin:0;font-size:28px;font-weight:700}.dashboard-username{color:#374151;margin-top:4px;font-size:20px;font-weight:600}.dashboard-subtext{color:#6b7280;margin-top:4px;font-size:14px}.dashboard-description{color:#4b5563;max-width:500px;margin-top:10px;font-size:14px;line-height:1.5}.dashboard-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dashboard-hero-left{flex-direction:column;display:flex}.dataTableWrap{-webkit-overflow-scrolling:touch;min-width:0}.dataTable{border-collapse:collapse;width:100%;min-width:0}@media (width<=1100px){.dataTable{min-width:760px}}.dataTable__row{cursor:pointer}.dataTable__row:hover{background:#f8fafc!important}.dataTable__subtle{color:#64748b;margin-top:4px;font-size:13px}.dataTable__strong{font-weight:700}.dataTableStatusPill{text-transform:capitalize;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.dataTableStatusPill--active,.dataTableStatusPill--ready{color:#166534;background:#dcfce7}.dataTableStatusPill--inactive,.dataTableStatusPill--pending{color:#b45309;background:#fef3c7}.dataTableStatusPill--left,.dataTableStatusPill--error{color:#b91c1c;background:#fee2e2}.dataTableActionMenu{align-items:center;gap:8px;display:inline-flex;position:relative}.dataTableViewButton{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:none;border-radius:8px;padding:8px 10px}.dataTableActionTrigger{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px}.dataTableActionTrigger:hover{background:#f3f4f6}.dataTableActionDropdown{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;min-width:150px;display:flex;position:absolute;top:34px;right:0;overflow:hidden;box-shadow:0 10px 25px #00000014}.dataTableActionDropdown button{text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:14px}.dataTableActionDropdown button:hover{background:#f9fafb}.dataTableActionDropdown button:last-child[data-danger=true]{color:#b91c1c}.dataTableSelectButton{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:none;border-radius:8px;padding:8px 12px;font-weight:700}.dataTableSelectButton--selected{color:#fff;background:#1d4ed8}.studentStatusPill{text-transform:capitalize;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.studentStatusPill--active{color:#166534;background:#dcfce7}.studentStatusPill--inactive{color:#b45309;background:#fef3c7}.formGrid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.formGrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.formGrid{grid-template-columns:repeat(3,1fr)}}.teachersPage{gap:20px;min-width:0;display:grid}.teachersPage__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teachersPage__hero{flex:420px;min-width:0}.teachersPage__title{margin:0;font-size:28px;line-height:1.1}.teachersPage__subtitle{color:#6b7280;max-width:72ch;margin-top:8px;margin-bottom:0}.teachersPage__primaryAction{flex:none}.teachersPage__stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.teacherStatCard{min-width:0}.teacherListCard{overflow:hidden}.teacherListTableWrap{padding:0}.teacherListTable{min-width:760px}@media (width<=768px){.teachersPage__header{align-items:stretch}.teachersPage__hero,.teachersPage__primaryAction{flex-basis:100%}.teachersPage__title{font-size:24px}.teachersPage__primaryAction{justify-content:center;width:100%}.teachersPage__stats{grid-template-columns:1fr}.teacherListCard{border-radius:16px;padding:14px}}.exams-page{gap:20px;display:grid}.exams-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exams-header h1{margin:0;font-size:28px}.exams-header p,.exams-cardHeader p,.exams-muted,.exams-subtle,.exams-empty{color:#6b7280}.exams-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;min-width:0;padding:22px;overflow:hidden;box-shadow:0 12px 32px #0f172a0f}.exams-cardHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.exams-cardHeader h2{margin:0}.exams-message{border-radius:16px;padding:16px 18px;font-weight:600}.exams-messageSuccess{color:#166534;background:#f0fdf4}.exams-messageError{color:#b91c1c;background:#fef2f2}.exams-form{gap:16px;display:grid}.exams-formGrid{gap:14px;display:grid}.exams-formGrid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.exams-formGrid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.exams-formGrid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.exams-field{color:#374151;font-size:14px;font-weight:600;display:grid}.exams-field span{margin-bottom:6px;display:inline-block}.exams-field input,.exams-field select,.exams-field textarea,.exams-table input,.exams-table select{border:1px solid #d1d5db;border-radius:12px;outline:none;width:90%;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.exams-field textarea{resize:vertical}.exams-field input:focus,.exams-field select:focus,.exams-field textarea:focus,.exams-table input:focus,.exams-table select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.exams-formActions,.exams-inlineActions,.exams-resultsToolbar,.exams-badgeGroup,.exams-resultsFooter,.exams-selectedInfo{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exams-button{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-weight:700;transition:transform .15s,opacity .2s,background .2s}.exams-button:hover{transform:translateY(-1px)}.exams-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.exams-buttonPrimary{color:#fff;background:linear-gradient(135deg,#7c3aed,#9333ea)}.exams-buttonSecondary{color:#1e3a8a;background:#eff6ff}.exams-buttonDanger{color:#be123c;background:#fff1f2}.exams-tableWrap{overflow-x:auto}.exams-table{border-collapse:collapse;width:100%;min-width:860px}.exams-table th,.exams-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:14px}.exams-table th{color:#6b7280;background:#f8fafc;font-size:13px}.exams-table tbody tr.is-selected{background:#eff6ff}.exams-tableResults{min-width:1080px}.exams-resultsCard{gap:18px}.exams-filterGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.exams-selectedInfo{color:#334155;background:#f8fafc;border-radius:14px;margin-bottom:18px;padding:14px 16px}.exams-selectedInfo strong{color:#0f172a}.exams-tabs{background:#f3f4f6;border-radius:14px;gap:8px;margin-bottom:18px;padding:6px;display:inline-flex}.exams-tab{color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 14px;font-weight:700}.exams-tab.is-active{color:#1d4ed8;background:#fff;box-shadow:0 6px 18px #0f172a14}.exams-uploadPanel{gap:14px;display:grid}.exams-uploadBox{color:#1e3a8a;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px dashed #93c5fd;border-radius:16px;gap:8px;width:fit-content;padding:18px;font-weight:700;display:grid}.exams-uploadBox input{color:#111827}.exams-uploadHint{color:#6b7280;font-size:14px}.exams-resultsFooter{justify-content:flex-end;margin-top:18px}.exams-feedbackBadge{color:#3730a3;background:#eef2ff;border-radius:999px;align-items:center;padding:8px 10px;font-size:13px;font-weight:700;display:inline-flex}.exams-dataPill{color:#334155;background:#f8fafc;border-radius:999px;align-items:center;padding:8px 10px;font-size:13px;font-weight:700;display:inline-flex}.exams-dataPill.is-pass{color:#166534;background:#ecfdf5}.exams-dataPill.is-fail{color:#b91c1c;background:#fef2f2}.exams-badge{color:#334155;background:#f8fafc;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}@media (width<=960px){.exams-filterGrid,.exams-formGrid--two,.exams-formGrid--three,.exams-formGrid--four{grid-template-columns:1fr}}.login-container{background:linear-gradient(135deg,#7c3aed,#4f46e5);flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex;position:fixed;top:0;left:0}.login-card{background:#fff;border-radius:20px;width:380px;padding:32px;box-shadow:0 20px 60px #0003}.login-title{color:#6d28d9;margin-bottom:4px;font-size:36px;font-weight:700}.login-subtitle{color:#6b7280;margin-bottom:24px}.input-group{margin-bottom:16px}.input-label{color:#374151;margin-bottom:6px;font-weight:600;display:block}.input-field{border:1px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border .2s}.input-field:focus{border-color:#7c3aed}.options-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.remember{color:#374151;font-size:14px}.forgot{color:#6d28d9;cursor:pointer;font-size:14px}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#9333ea);border:none;border-radius:12px;width:100%;margin-bottom:20px;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s}.login-button:hover{opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-text{color:#dc2626;margin-bottom:12px;font-size:14px}.divider{text-align:center;color:#9ca3af;margin:20px 0;font-size:12px}.signup{text-align:center;color:#6b7280;font-size:14px}.create{color:#6d28d9;cursor:pointer;font-weight:600}@media (width<=480px){.login-card{border-radius:16px;width:85%;padding:18px}.login-title{font-size:26px}.login-subtitle{font-size:13px}.input-field{width:95%;padding:10px;font-size:13px}.login-button{padding:10px;font-size:14px}}@media (width>=768px){.login-card{padding:32px}.login-title{font-size:36px}}.catalogPage{gap:20px;display:grid}.catalogPage__hero{background:linear-gradient(135deg,#f5efe1 0%,#e4f0e8 100%);border:1px solid #1a363614;border-radius:20px;padding:24px}.catalogPage__hero h1{color:#17313a;margin:0 0 8px;font-size:2rem}.catalogPage__hero p{color:#46606a;margin:0}.catalogPage__alert{border-radius:14px;padding:12px 16px;font-weight:600}.catalogPage__alert--error{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.catalogPage__alert--success{color:#027a48;background:#ecfdf3;border:1px solid #abefc6}.catalogPage__loading{background:#fff;border:1px solid #0f172a14;border-radius:16px;padding:18px}.catalogPage__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.catalogCard{background:#fff;border:1px solid #0f172a14;border-radius:20px;gap:18px;padding:20px;display:grid}.catalogCard--wide{grid-column:1/-1}.catalogCard__header h2{color:#17313a;margin:0 0 6px}.catalogCard__header p{color:#5d7180;margin:0}.catalogForm{gap:14px;display:grid}.catalogForm--grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalogForm label{color:#314854;gap:6px;font-size:.92rem;font-weight:600;display:grid}.catalogForm input,.catalogForm select,.catalogForm textarea{width:90%;font:inherit;background:#fbfdff;border:1px solid #d0d9e3;border-radius:12px;padding:11px 12px}.catalogForm textarea{resize:vertical}.catalogForm__actions{gap:10px;display:flex}.catalogForm__actions--full{grid-column:1/-1}.catalogButton{color:#fff;cursor:pointer;background:#17313a;border:none;border-radius:12px;padding:11px 16px;font-weight:700}.catalogButton:disabled{opacity:.7;cursor:wait}.catalogButton--secondary{color:#17313a;background:#edf2f7}.catalogList{gap:10px;display:grid}.catalogList__item{background:#f8fafc;border:1px solid #0f172a0f;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.catalogList__item div{gap:4px;display:grid}.catalogList__item strong{color:#17313a}.catalogList__item span,.catalogList__item small{color:#607482}.catalogLinkButton{color:#0f766e;cursor:pointer;background:0 0;border:none;font-weight:700}.catalogTable{gap:10px;display:grid}.catalogTable__head,.catalogTable__row{grid-template-columns:1.3fr 1fr 1.2fr .9fr 1fr .8fr .8fr .7fr;align-items:center;gap:12px;display:grid}.catalogTable__head{color:#607482;text-transform:uppercase;padding:0 6px;font-size:.86rem;font-weight:700}.catalogTable__row{color:#17313a;background:#f8fafc;border:1px solid #0f172a0f;border-radius:14px;padding:14px}@media (width<=1080px){.catalogPage__grid{grid-template-columns:1fr}.catalogForm--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogTable__head,.catalogTable__row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.catalogForm--grid{grid-template-columns:1fr}.catalogTable__head{display:none}.catalogTable__row{grid-template-columns:1fr 1fr}}
