@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);:root{--color-bg:#f6f8fa;--color-surface:#fff;--color-border:#e5e7eb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#0284c7;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--radius-md:10px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000f}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f6f8fa;background-color:var(--color-bg);color:#111827;color:var(--color-text-primary);font-family:Inter,sans-serif;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1{font-size:24px}h1,h2{color:#111827;color:var(--color-text-primary);font-weight:600}h2{font-size:18px}h3,h4{color:#111827;color:var(--color-text-primary);font-size:16px;font-weight:600}button,input,label,p,select,span{font-size:14px}small{color:#6b7280;color:var(--color-text-secondary);font-size:12px}.btn,small{font-weight:500}.btn{border:1px solid #0000;line-height:1.4;padding:8px 16px;transition:all .15s ease}.btn-primary{background:#2563eb;background:var(--color-primary)}.btn-primary:hover{background:#1d4ed8;background:var(--color-primary-hover)}.btn-secondary{background:#fff;background:var(--color-surface);border-color:#2563eb;border-color:var(--color-primary);color:#2563eb;color:var(--color-primary)}.btn-secondary:hover{background:#dbeafe;background:var(--color-primary-light)}.btn-ghost{background:#0000;border-color:#e5e7eb;border-color:var(--color-border);color:#6b7280;color:var(--color-text-secondary)}.btn-ghost:hover{background:#f3f4f6;color:#111827;color:var(--color-text-primary)}.btn-danger{background:#fff;background:var(--color-surface);border-color:#dc2626;border-color:var(--color-danger);color:#dc2626;color:var(--color-danger)}.btn-danger:hover{background:#fef2f2}.app{background-color:var(--color-bg);display:flex;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:16px 24px}.header-content{align-items:center;display:flex;justify-content:space-between;max-width:100%}.college-name{color:var(--color-text-primary);font-size:18px;font-weight:600;letter-spacing:.2px}.header-actions{align-items:center;display:flex;gap:20px}.notification-icon{cursor:pointer;position:relative}.notification-icon .icon{font-size:20px}.badge{align-items:center;background-color:#e74c3c;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;position:absolute;right:-5px;top:-5px;width:18px}.grid-icon{cursor:pointer;font-size:24px}.profile-icon img{border-radius:50%;cursor:pointer;height:40px;object-fit:cover;width:40px}@media (max-width:768px){.college-name{font-size:16px}.header-actions{gap:12px}.header-user{flex-direction:column;gap:6px}}.header-user{gap:8px}.header-user,.user-info{align-items:center;display:flex}.user-info{gap:10px}.user-role-badge{background:#eef2ff;border-radius:6px;color:#3730a3;font-size:12px;font-weight:600;letter-spacing:.4px;padding:4px 8px;text-transform:uppercase}.user-email{font-size:14px}.help-btn,.user-email{color:var(--color-text-secondary);font-weight:500}.help-btn{background:#0000;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:13px;padding:8px 14px;transition:all .15s ease}.help-btn:hover{background:#f3f4f6;color:var(--color-text-primary)}.logout-btn{background:var(--color-surface);border:1px solid var(--color-danger);border-radius:8px;color:var(--color-danger);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .15s ease}.logout-btn:hover{background:#fef2f2}@media (max-width:768px){.help-btn,.logout-btn{width:100%}}.driver-active *,.driver-active .driver-overlay{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;background-color:#fff;border-radius:5px;box-shadow:0 1px 10px #0006;box-sizing:border-box;color:#2d2d2d;margin:0;max-width:300px;min-width:250px;padding:15px;position:fixed;right:0;top:0;z-index:1000000000}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{zoom:1;display:block;font:19px/normal sans-serif;font-weight:700;line-height:1.5;margin:0;position:relative}.driver-popover-close-btn{all:unset;color:#d2d2d2;cursor:pointer;font-size:18px;font-weight:500;height:28px;position:absolute;right:0;text-align:center;top:0;transition:color;transition-duration:.2s;width:32px;z-index:1}.driver-popover-close-btn:focus,.driver-popover-close-btn:hover{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;font:14px/normal sans-serif;font-weight:400;line-height:1.5;margin-bottom:0}.driver-popover-footer{zoom:1;align-items:center;display:flex;justify-content:space-between;margin-top:15px;text-align:right}.driver-popover-progress-text{zoom:1;color:#727272;font-size:13px;font-weight:400}.driver-popover-footer button{zoom:1;all:unset;background-color:#fff;border:1px solid #ccc;border-radius:3px;box-sizing:border-box;color:#2d2d2d;cursor:pointer;display:inline-block;font:12px/normal sans-serif;line-height:1.3;outline:0;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:focus,.driver-popover-footer button:hover{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{border:5px solid #fff;content:"";position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-bottom-color:#0000;border-right-color:#0000;border-top-color:#0000;left:100%}.driver-popover-arrow-side-right{border-bottom-color:#0000;border-left-color:#0000;border-top-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-left-color:#0000;border-right-color:#0000;border-top-color:#0000;bottom:100%}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start,.driver-popover-arrow-side-top.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end,.driver-popover-arrow-side-top.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{margin-top:-5px;top:50%}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center,.driver-popover-arrow-side-top.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.graavitons-tour-popover{background-color:#fff!important;background-image:linear-gradient(#94a3b814 1px,#0000 0),linear-gradient(90deg,#94a3b814 1px,#0000 0);background-size:16px 16px;border:1px solid #cbd5e1!important;border-radius:12px!important;box-shadow:0 20px 40px #0f172a59!important}.graavitons-tour-popover .driver-popover-title{color:#1e293b!important;font-size:16px!important;font-weight:700!important}.graavitons-tour-popover .driver-popover-description{color:#334155!important;font-size:13px!important;line-height:1.45!important}.graavitons-tour-popover .driver-popover-progress-text{color:#64748b!important}.graavitons-tour-popover .driver-popover-close-btn,.graavitons-tour-popover .driver-popover-next-btn,.graavitons-tour-popover .driver-popover-prev-btn{border-radius:8px!important;font-weight:600!important}.graavitons-tour-popover .driver-popover-next-btn{background:linear-gradient(135deg,#5b5fc7,#3b82f6)!important;border:none!important;color:#fff!important}.graavitons-tour-popover .driver-popover-prev-btn{background:#f1f5f9!important;border:1px solid #cbd5e1!important;color:#1e293b!important}.course-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 2px #0000000f;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2);justify-content:flex-start;min-height:176px;padding:var(--space-4);position:relative;text-align:left;transition:all .15s ease}.course-card-delete-btn{background:#0000;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:1.2rem;opacity:0;padding:4px 8px;position:absolute;right:12px;top:12px;transition:all .2s;z-index:2}.course-card:hover .course-card-delete-btn{opacity:1}.course-card-rename-btn{background:#0000;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:1.1rem;opacity:0;padding:4px 8px;position:absolute;right:52px;top:12px;transition:all .2s;z-index:2}.course-card:hover .course-card-rename-btn{opacity:1}.course-card-rename-btn:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.course-card-delete-btn:hover{background-color:#fee2e2;color:#e53e3e}.course-card:hover{border-color:#d1d5db;box-shadow:0 4px 10px #00000014;transform:translateY(-2px)}.course-title{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0}.course-details{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start;margin-bottom:var(--space-1)}.course-type{background:#eef2ff;border-radius:6px;color:#3730a3;padding:4px 8px}.course-type,.course-year{font-size:12px;font-weight:500}.course-year{color:var(--color-text-secondary)}.course-subjects{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:flex-start;margin-top:var(--space-1)}.subject-tag{background:#f3f4f6;border:1px solid var(--color-border);border-radius:6px;color:#374151;font-size:12px;font-weight:500;padding:4px 8px}.course-description{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:0;max-width:100%}.student-profile{background-color:#f7f8fc;margin-left:80px;min-height:100vh;padding:40px}.profile-header{align-items:flex-start;display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.profile-header-actions{display:flex;flex-wrap:wrap;gap:12px}.back-button,.btn-download-report{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.profile-title-section{align-items:center;display:flex;gap:24px;width:100%}.profile-header h2{color:#1f2937;font-size:30px;font-weight:700;margin:0}.student-photo{background:#f1f5f9;border-radius:12px;height:150px;overflow:hidden;width:150px}.student-photo img{height:100%;object-fit:cover;width:100%}.tab-navigation{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px}.tab-content{animation:fadeIn .2s ease-in}.profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px}.profile-section h3{border-bottom:1px solid #e2e8f0;color:#1f2937;font-size:30px;font-weight:700;margin:0 0 14px;padding-bottom:8px}.details-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.detail-item span{color:#1f2937;font-size:14px;font-weight:500}.marks-table{overflow-x:auto}.marks-table table{border-collapse:collapse;width:100%}.marks-table td,.marks-table th{border-bottom:1px solid #e5e7eb;padding:10px;text-align:center}.exam-name{color:#0f172a;font-weight:600;text-align:left}.feedback-signatures{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px}.insight-tab-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.insight-tab-btn{background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;color:#334155;cursor:pointer;font-size:12px;font-weight:600;padding:7px 12px}.insight-tab-btn.active{background:#e0f2fe;border-color:#0284c7;color:#0c4a6e}.insight-lane-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.insight-test-column{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.insight-test-title{align-items:center;color:#475569;display:flex;font-size:13px;justify-content:space-between;line-height:1.4;margin-bottom:10px}.insight-test-title strong{color:#1f2937;font-size:15px;font-weight:700}.insight-section-title{font-size:12px;font-weight:700;letter-spacing:.25px;margin:10px 0 7px}.insight-section-title.achievement{color:#059669}.insight-section-title.redflag{color:#e11d48}.insight-item{border:1px solid #0000;border-radius:8px;margin-bottom:8px;padding:10px}.insight-item.achievement{background:#ecfdf5;border-color:#6ee7b7}.insight-item.redflag{background:#fff1f2;border-color:#fda4af}.insight-item-title{color:#111827;font-size:14px;font-weight:700;line-height:1.35}.insight-item-detail{color:#334155;font-size:13px;line-height:1.55;margin-top:4px}.insight-item-metric{color:#0f172a;font-size:12px;font-weight:700;line-height:1.45;margin-top:5px}.insight-remedy{color:#7f1d1d;font-weight:650;margin-top:6px}.insight-empty,.insight-remedy{font-size:12px;line-height:1.45}.insight-empty{border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;margin-bottom:6px;padding:10px}.performance-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.performance-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:25px}.performance-card h4{font-size:18px;font-weight:600;margin-bottom:15px}.performance-stats{justify-content:space-between;margin-bottom:15px}.stat{align-items:center;display:flex;flex-direction:column}.stat-label{margin-bottom:5px;opacity:.9}.stat-value{font-size:20px}.stat-value.highest{color:#2ecc71}.stat-value.lowest{color:#e74c3c}.progress-bar{background:#ffffff4d;border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:#fff;border-radius:4px;height:100%;transition:width .3s ease}.visualization-container{background:#f8f9fa;border-radius:8px;padding:30px}.student-profile .recharts-cartesian-axis-tick-value,.student-profile .recharts-legend-item-text,.student-profile .recharts-polar-angle-axis text,.student-profile .recharts-polar-radius-axis text{fill:#1f2937!important}.student-profile .recharts-tooltip-item,.student-profile .recharts-tooltip-label{color:#1f2937!important}.chart-placeholder h4{color:#2c3e50;font-size:18px;margin-bottom:25px;text-align:center}.trend-chart{align-items:flex-end;background:#fff;border-radius:8px;display:flex;gap:30px;height:300px;justify-content:space-around;padding:20px}.trend-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:150px}.bar{align-items:flex-start;background:linear-gradient(0deg,#3498db,#5dade2);border-radius:8px 8px 0 0;display:flex;justify-content:center;min-height:50px;padding-top:10px;position:relative;transition:all .3s ease;width:100%}.bar:hover{background:linear-gradient(0deg,#2980b9,#3498db);transform:scale(1.05)}.bar-label{color:#fff;font-size:14px;font-weight:700}.bar-name{color:#555;font-size:13px;font-weight:600;margin-top:10px;text-align:center}.feedback-section{gap:20px}.feedback-item,.feedback-section{display:flex;flex-direction:column}.feedback-item{gap:8px}.feedback-item label{color:#2c3e50;font-size:14px;font-weight:600}.feedback-textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.signature-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.signature-box{display:flex;flex-direction:column;gap:10px}.signature-box label{color:#7f8c8d;font-size:13px;font-weight:600;text-align:center}.signature-area{background-color:#f8f9fa;border:2px dashed #ddd;border-radius:6px;height:100px}@media (max-width:768px){.details-grid,.performance-grid{grid-template-columns:1fr}.marks-table{font-size:12px}.marks-table td,.marks-table th{padding:10px 8px}.trend-chart{gap:15px;height:250px}}.performance-graph-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.performance-graph-section h3{border-bottom-color:#ffffff4d;color:#fff}.performance-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;display:flex;justify-content:space-around;margin-top:20px;padding:20px}.stat-item{align-items:center;gap:8px}.stat-label{color:#ffffffe6;font-size:14px;font-weight:500}.stat-value{color:#fff;font-size:28px}@media (max-width:768px){.performance-stats{flex-direction:column;gap:15px}}.feedback-date{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:200px}.btn-save-feedback{background-color:#5b5fc7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:20px;margin-top:20px;padding:12px 24px;transition:all .2s}.btn-save-feedback:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.feedback-history{display:flex;flex-direction:column;gap:20px}.feedback-card{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s}.feedback-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.feedback-card-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;padding:15px 20px}.feedback-date-badge{color:#fff;font-size:14px;font-weight:600}.feedback-card-body{padding:20px}.student-metrics-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.student-metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.student-metric-card label{color:#64748b;display:block;font-size:12px;font-weight:600;margin-bottom:6px;text-transform:uppercase}.metric-label-with-help{align-items:center;display:inline-flex;gap:6px}.metric-help-icon{align-items:center;background:#f8fafc;border:1px solid #94a3b8;border-radius:50%;color:#475569;cursor:help;display:inline-flex;font-size:11px;height:16px;justify-content:center;line-height:1;position:relative;width:16px}.metric-help-icon:hover:after{background:#0f172a;border-radius:8px;bottom:125%;color:#f8fafc;content:attr(aria-label);font-size:11px;left:50%;letter-spacing:0;line-height:1.35;padding:8px 10px;position:absolute;text-transform:none;transform:translateX(-50%);white-space:normal;width:230px;z-index:20}.student-metric-card p{color:#1e293b;font-size:22px;font-weight:700;margin:0}.risk-pill{border-radius:999px;display:inline-block;font-size:12px!important;font-weight:700;padding:4px 10px}.risk-pill.low{background:#dcfce7;color:#166534}.risk-pill.medium{background:#fef3c7;color:#92400e}.risk-pill.high{background:#fee2e2;color:#991b1b}.student-risk-reasons h4{color:#334155;font-size:14px;margin:8px 0}.student-risk-reasons ul{color:#475569;margin:0 0 10px 18px}.student-risk-reasons p{color:#334155;margin:0}.student-profile{background:var(--color-bg);padding:var(--space-4)}.profile-header h2{color:var(--color-text-primary);font-size:24px}.student-photo{border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-download-report,.btn-save-feedback,.student-profile .back-button{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.btn-download-report:hover,.btn-save-feedback:hover,.student-profile .back-button:hover{background:var(--color-primary-hover);box-shadow:none;transform:none}.chart-placeholder,.feedback-card,.profile-section,.trend-chart,.visualization-container{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.chart-placeholder h4,.feedback-entry h4,.profile-section h3{border-bottom-color:var(--color-border);color:var(--color-text-primary)}.tab-navigation{border-bottom-color:var(--color-border)}.tab-button{color:var(--color-text-secondary)}.tab-button:hover{background:#f3f4f6;color:var(--color-text-primary)}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.marks-table th{background:#f9fafb;color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.feedback-card-header,.performance-card{background:#f9fafb;border:1px solid var(--color-border);color:var(--color-text-primary)}.bar,.bar.mock,.progress-fill{background:var(--color-primary)}.feedback-entry{margin-bottom:20px}.feedback-entry:last-child{margin-bottom:0}.feedback-entry h4{color:#5b5fc7;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.feedback-entry p{color:#2d3748;font-size:15px;line-height:1.6;margin:0;white-space:pre-wrap}.signature-input{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;margin-top:8px;padding:10px 14px;transition:border-color .2s;width:100%}.signature-input:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.signature-preview{background:#f7fafc;border-radius:6px;margin-top:8px;min-height:30px;padding:8px 12px}.signature-text{color:#2d3748;font-family:Brush Script MT,Segoe Script,cursive;font-size:20px}.top-score{color:#38a169;font-weight:600}.date-filter-row{align-items:flex-end;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:14px 18px}.date-filter-field{gap:4px}.date-filter-field label{color:#718096;font-size:12px;letter-spacing:.5px}.date-filter-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;min-width:160px;padding:8px 12px;transition:border-color .2s}.date-filter-input:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.date-filter-clear{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#c53030;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.date-filter-clear:hover{background:#feb2b2}.chart-control-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.student-pdf-export-root{background:#fff;left:-10000px;pointer-events:none;position:fixed;top:0;width:794px;z-index:-1}.student-pdf-page{background:#fff;border-bottom:1px solid #f1f5f9;box-sizing:border-box;color:#0f172a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:1123px;padding:26px 38px 28px;width:794px}.student-pdf-header{color:#475569;font-size:12px;font-weight:500;margin-bottom:18px;text-align:center}.student-pdf-page h1{color:#111827;font-size:42px;font-weight:700;line-height:1.1;margin:0 0 8px}.student-pdf-info-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:14px}.student-pdf-info-grid p{color:#0f172a;font-size:15px;line-height:1.25;margin:5px 0}.student-pdf-chart-block{border:none;border-radius:0;margin-top:16px;padding:0}.student-pdf-chart-panel{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:14px;padding:12px 12px 6px}.student-pdf-chart-block h3{color:#111827;font-size:16px;font-weight:600;line-height:1.2;margin:0 0 2px}.student-pdf-chart-block>p{color:#6b7280;font-size:11px;font-weight:500;margin:0 0 8px}.student-pdf-summary-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:12px}.student-pdf-summary-box p{font-size:18px;margin:8px 0}.student-pdf-table-wrap{border:1px solid #dbe3ee;border-radius:8px;margin-top:8px;overflow:hidden}.student-pdf-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.student-pdf-table td,.student-pdf-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #eef2f7;color:#1f2937;font-size:12px;padding:8px 10px;vertical-align:top;word-break:break-word}.student-pdf-table td:last-child,.student-pdf-table th:last-child{border-right:none}.student-pdf-table thead th{background:#f8fafc;color:#334155;font-weight:700}.student-pdf-table tbody tr:last-child td{border-bottom:none}.attendance-table td,.attendance-table th{text-align:center}.attendance-table td:first-child,.attendance-table th:first-child{text-align:left}.pdf-insight-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-insight-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.pdf-insight-head{align-items:center;color:#475569;display:flex;font-size:11px;justify-content:space-between;line-height:1.35;margin-bottom:6px}.pdf-insight-head strong{color:#1f2937;font-size:12px}.pdf-insight-subhead{color:#475569;font-size:11px;font-weight:600;margin-bottom:3px}.pdf-insight-meta{color:#334155;font-size:11px;line-height:1.4;margin-bottom:6px}.pdf-insight-body p{color:#334155;font-size:11px;line-height:1.45;margin:3px 0}.pdf-insight-section{color:#0f172a!important;margin-top:4px!important}.student-pdf-export-root .recharts-cartesian-axis-line{stroke:#d1d5db!important}.student-pdf-export-root .recharts-legend-item-text{font-weight:500;letter-spacing:.1px}.student-pdf-export-root .recharts-cartesian-grid-horizontal line,.student-pdf-export-root .recharts-cartesian-grid-vertical line{stroke:#d1d5db}.toast-container{flex-direction:column;pointer-events:none;position:fixed;right:24px;top:24px;z-index:99999}.toast-container,.toast-item{display:flex;gap:10px;max-width:420px}.toast-item{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;color:#fff;font-size:14px;font-weight:500;line-height:1.45;min-width:280px;padding:14px 18px;pointer-events:auto;word-break:break-word}.toast-enter{animation:toast-slide-in .35s cubic-bezier(.21,1.02,.73,1) forwards}.toast-exit{animation:toast-slide-out .35s cubic-bezier(.55,.09,.68,.53) forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%) scale(.85)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.85)}}.toast-success{background:linear-gradient(135deg,#22c55e,#16a34a)}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a1a1a}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.toast-icon{flex-shrink:0;font-size:18px}.toast-message{flex:1 1;white-space:pre-line}.toast-close{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;opacity:.7;padding:0 2px;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-warning .toast-close{color:#1a1a1a}.date-filter-overlay{align-items:center;animation:dfm-fade-in .25s ease-out;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0f172a8c;display:flex;inset:0;justify-content:center;position:fixed;z-index:90000}.date-filter-modal{animation:dfm-slide-up .3s cubic-bezier(.21,1.02,.73,1);background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 24px 64px #0000002e,0 8px 24px #00000014,inset 0 1px 0 #fff9;max-width:480px;padding:28px 32px 24px;width:90%}.date-filter-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.date-filter-modal-header h3{color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0}.date-filter-close-btn{background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:24px;line-height:1;padding:2px 6px;transition:all .2s}.date-filter-close-btn:hover{background:#fef2f2;color:#ef4444}.date-filter-description{color:#64748b;font-size:13.5px;line-height:1.55;margin:0 0 20px}.date-filter-inputs{display:flex;gap:14px;margin-bottom:16px}.date-filter-field{display:flex;flex:1 1;flex-direction:column;gap:6px}.date-filter-field label{color:#475569;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.date-filter-input{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;color:#1e293b;font-size:14px;outline:none;padding:10px 12px;transition:all .2s}.date-filter-input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.date-filter-error{color:#ef4444;font-size:12.5px;font-weight:600;margin:0 0 12px}.date-filter-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.date-filter-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:13.5px;font-weight:600;letter-spacing:.01em;min-width:120px;padding:11px 16px;transition:all .2s}.date-filter-btn:disabled{cursor:not-allowed;opacity:.5}.date-filter-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 14px #6366f159;color:#fff}.date-filter-btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f173;transform:translateY(-1px)}.date-filter-btn-secondary{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:0 2px 8px #0000000f;color:#334155}.date-filter-btn-secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(-1px)}.date-filter-btn-cancel{background:#0000;color:#94a3b8;flex:0 0 auto;min-width:80px}.date-filter-btn-cancel:hover{background:#fef2f2;color:#ef4444}@keyframes dfm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dfm-slide-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:500px){.date-filter-modal{max-width:96%;padding:20px}.date-filter-inputs{gap:12px}.date-filter-actions,.date-filter-inputs{flex-direction:column}.date-filter-btn{min-width:0;min-width:auto}}.add-student{background-color:#f7f8fc;margin-left:80px;min-height:100vh;padding:40px}.add-student-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.add-student-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.marks-section{background:#f8fafc;border-radius:8px;margin-top:15px;padding:20px}.marks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:15px}.marks-grid .form-group{margin-bottom:0}.exam-card,.exam-section{margin-bottom:20px}.exam-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;position:relative}.exam-card-header{align-items:center;border-bottom:1px solid #cbd5e0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.exam-card-header h4{color:#4a5568;font-size:16px;margin:0}.btn-add-exam{align-items:center;background-color:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;margin-bottom:20px;padding:10px 20px}.btn-add-exam:hover{background-color:#38a169}.btn-remove-exam{background-color:#fc8181;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px}.btn-remove-exam:hover{background-color:#e53e3e}.form-section{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014}.form-section h3{border-bottom:2px solid #5b5fc7;color:#2d3748;font-weight:600}.form-group.full-width{grid-column:1/-1}.form-group label{color:#2d3748;font-size:13px}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a}.form-group input::placeholder{color:#bdc3c7}.photo-upload{display:flex;flex-direction:column;gap:10px}.photo-upload input[type=file]{display:none}.upload-label{background-color:#5b5fc7;max-width:200px;text-align:center}.upload-label:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.add-student{background:var(--color-bg);padding:var(--space-4)}.add-student-header h2{color:var(--color-text-primary);font-size:24px}.add-student .back-button{background:var(--color-primary);border-radius:8px}.add-student .back-button:hover{background:var(--color-primary-hover);box-shadow:none}.add-student .exam-card,.add-student .form-actions,.add-student .form-section,.add-student .marks-section{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.add-student .form-section h3{border-bottom-color:var(--color-border);color:var(--color-text-primary);font-size:16px}.add-student .form-group label{color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.add-student .form-group input,.add-student .form-group select{background:var(--color-surface);border-color:var(--color-border)}.add-student .form-group input:focus,.add-student .form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.add-student .upload-label{background:var(--color-primary);font-weight:500}.add-student .upload-label:hover{background:var(--color-primary-hover);box-shadow:none}.add-student .btn-add-exam,.add-student .btn-submit{background:var(--color-primary);font-weight:500}.add-student .btn-add-exam:hover,.add-student .btn-submit:hover{background:var(--color-primary-hover);box-shadow:none}.add-student .btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:500}.add-student .btn-cancel:hover{background:#f3f4f6}.add-student .btn-remove-exam{background:#fef2f2;border:1px solid var(--color-danger);color:var(--color-danger)}.add-student .btn-remove-exam:hover{background:#fee2e2}.add-exam{background-color:#f7f8fc;margin-left:80px;min-height:100vh;padding:40px;position:relative}.save-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.save-overlay-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;gap:12px;min-width:260px;padding:20px 24px}.save-overlay-card p{color:#1e293b;font-size:14px;font-weight:600;margin:0}.save-overlay-spinner{animation:saveOverlaySpin .8s linear infinite;border:4px solid #dbeafe;border-radius:50%;border-top-color:#5b5fc7;height:40px;width:40px}@keyframes saveOverlaySpin{to{transform:rotate(1turn)}}.add-exam-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.add-exam-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.mode-selector{display:flex;gap:15px}.mode-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px 30px;transition:all .2s}.mode-btn:hover{background-color:#f7fafc;border-color:#5b5fc7}.mode-btn.active{background-color:#5b5fc7;border-color:#5b5fc7;color:#fff}.marks-entry-table{max-height:500px;overflow-x:auto;overflow-y:auto}.marks-entry-table table{border-collapse:collapse;width:100%}.marks-entry-table td,.marks-entry-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.marks-entry-table th{background-color:#5b5fc7;color:#fff;font-size:14px;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.marks-entry-table td{color:#555;font-size:14px}.marks-input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;width:150px}.marks-input:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.excel-upload-section{display:flex;flex-direction:column;gap:25px}.instruction{background:#eef2ff;border-left:4px solid #5b5fc7;border-radius:8px;color:#2d3748;font-size:15px;padding:15px}.upload-steps{display:flex;flex-direction:column;gap:20px}.step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:15px;padding:20px}.step,.step-number{align-items:center;display:flex}.step-number{border-radius:50%;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.btn-download,.step-number{background-color:#5b5fc7;color:#fff}.btn-download{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-download:hover:not(:disabled){background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.btn-download:disabled{background-color:#cbd5e0;cursor:not-allowed}.note{color:#e74c3c;font-size:12px;font-style:italic}.file-upload input[type=file]{display:none}.upload-label{background-color:#48bb78;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.upload-label:hover{background-color:#38a169;box-shadow:0 2px 8px #48bb784d}.preview-section{margin-top:20px}.preview-section h4{color:#2d3748;font-size:18px;font-weight:600;margin-bottom:15px}.upload-error-logs{background:#fff5f5;border:1px solid #feb2b2;border-left:4px solid #e53e3e;border-radius:8px;margin-top:12px;padding:12px 14px}.upload-error-logs h5{color:#9b2c2c;font-size:14px;font-weight:700;margin:0 0 8px}.upload-error-logs ul{margin:0;max-height:220px;overflow-y:auto;padding-left:18px}.upload-error-logs li{color:#742a2a;font-size:13px;line-height:1.4;margin-bottom:4px}.form-actions{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px 30px}.btn-cancel{background-color:#cbd5e0;border:none;color:#2d3748;font-size:14px;padding:12px 30px}.btn-cancel:hover{background-color:#a0aec0}.btn-submit{background-color:#48bb78;font-size:14px;padding:12px 30px}.btn-submit:hover{background-color:#38a169;box-shadow:0 2px 8px #48bb784d}.btn-cancel:disabled,.btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.7}.save-progress-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;padding:12px 16px}.save-progress-label{color:#334155;font-size:13px;font-weight:600;margin-bottom:8px}.save-progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden;position:relative;width:100%}.save-progress-bar{animation:saveProgressSlide 1.1s ease-in-out infinite;background:linear-gradient(90deg,#5b5fc7,#48bb78);border-radius:999px;height:100%;left:-35%;position:absolute;top:0;width:35%}@keyframes saveProgressSlide{0%{left:-35%}to{left:100%}}.form-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:30px}.form-section h3{border-bottom:2px solid #3498db;font-size:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2c3e50;font-weight:600}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.manage-exam-marks{display:flex;flex-direction:column;gap:16px}.manage-exam-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.manage-exam-type-toggle{display:flex;gap:10px}.manage-exam-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:320px 1fr}.manage-exam-editor,.manage-exam-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.manage-exam-group-list{display:flex;flex-direction:column;gap:10px;max-height:480px;overflow-y:auto}.manage-exam-group-item{background:#fff;border:1px solid #dbe4f0;border-radius:8px;cursor:pointer;padding:10px;text-align:left}.manage-exam-group-item.selected{border-color:#5b5fc7;box-shadow:0 0 0 2px #5b5fc726}.manage-exam-actions{display:flex;gap:12px;margin-top:14px}.manage-exam-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px}.manage-exam-excel-tools{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.manage-upload-label{padding:10px 16px}.manage-exam-upload-note{color:#4a5568;font-size:12px;margin:0 0 10px}.btn-cancel.danger{background:#fee2e2;color:#b91c1c}.btn-cancel.danger:hover{background:#fecaca}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.form-actions,.mode-selector{flex-direction:column}.btn-cancel,.btn-submit{width:100%}.step{align-items:flex-start;flex-direction:column}.manage-exam-layout{grid-template-columns:1fr}.manage-exam-actions,.manage-exam-excel-tools,.manage-exam-toolbar,.manage-exam-type-toggle{align-items:stretch;flex-direction:column}}.add-exam{background:var(--color-bg);padding:var(--space-4)}.add-exam-header h2{color:var(--color-text-primary);font-size:24px}.add-exam .back-button{background:var(--color-primary)}.add-exam .back-button:hover{background:var(--color-primary-hover);box-shadow:none}.add-exam .form-actions,.add-exam .form-section,.add-exam .manage-exam-editor,.add-exam .manage-exam-list,.add-exam .save-progress-container,.add-exam .step{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.add-exam .form-section h3,.add-exam .preview-section h4{border-bottom-color:var(--color-border);color:var(--color-text-primary);font-size:16px}.add-exam .form-group label{color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.add-exam .form-group input,.add-exam .form-group select,.add-exam .marks-input{background:var(--color-surface);border-color:var(--color-border)}.add-exam .form-group input:focus,.add-exam .form-group select:focus,.add-exam .marks-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.add-exam .btn-download,.add-exam .btn-submit,.add-exam .mode-btn.active{background:var(--color-primary)}.add-exam .btn-download:hover:not(:disabled),.add-exam .btn-submit:hover,.add-exam .mode-btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:none}.add-exam .upload-label{background:var(--color-success)}.add-exam .upload-label:hover{background:#15803d;box-shadow:none}.add-exam .btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.add-exam .btn-cancel:hover{background:#f3f4f6}.add-exam .save-progress-bar{background:var(--color-primary)}.batch-performance{animation:perfFadeIn .3s ease}@keyframes perfFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.perf-filters{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:24px;padding:20px}.perf-filters .filter-group{display:flex;flex-direction:column;gap:5px}.perf-filters .filter-group label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.perf-filters .filter-group input[type=date],.perf-filters .filter-group select{background:#f7f8fc;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s}.perf-filters .filter-group input[type=date]:focus,.perf-filters .filter-group select:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.btn-clear-filters{align-self:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.btn-clear-filters:hover{background:#fee;border-color:#e53e3e;color:#e53e3e}.perf-stat-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.perf-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.perf-stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.perf-stat-card h4{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.perf-stat-card .stat-value{color:#2d3748;font-size:28px;font-weight:700;margin:0}.perf-stat-card.accent-blue .stat-value{color:#5b5fc7}.perf-stat-card.accent-green .stat-value{color:#48bb78}.perf-stat-card.accent-orange .stat-value{color:#ed8936}.perf-stat-card.accent-purple .stat-value{color:#805ad5}.perf-stat-card.accent-teal .stat-value{color:#38b2ac}.perf-stat-card.accent-yellow .stat-value{color:#d69e2e}.perf-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:24px}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px;position:relative;z-index:1}.chart-card h4{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px}.chart-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.chart-expand-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-size:12px;font-weight:600;padding:7px 10px;white-space:nowrap}.chart-expand-btn:hover{border-color:#5b5fc7;color:#4338ca}.chart-scroll-wrap{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;width:100%}.chart-scroll-wrap.dense{border-radius:8px}.chart-scroll-inner{min-height:300px;width:100%}.chart-card-expanded{bottom:20px;box-shadow:0 20px 45px #0f172a59;height:auto;left:20px;overflow:auto;position:fixed;right:20px;top:20px;width:auto;z-index:1001}.chart-card-expanded .chart-scroll-inner{min-height:520px}.chart-fullscreen-backdrop{background:#0f172a8c;inset:0;position:fixed;z-index:1000}.perf-label-with-info{gap:6px}.perf-info-icon,.perf-label-with-info{align-items:center;display:inline-flex}.perf-info-icon{background:#f8fafc;border:1px solid #94a3b8;border-radius:50%;color:#475569;cursor:help;font-size:11px;font-weight:700;height:16px;justify-content:center;line-height:1;position:relative;width:16px}.perf-info-icon:hover:after{background:#0f172a;border-radius:8px;bottom:130%;box-shadow:0 6px 18px #0f172a59;color:#f8fafc;content:attr(aria-label);font-size:11px;left:50%;letter-spacing:0;line-height:1.35;padding:8px 10px;position:absolute;text-transform:none;transform:translateX(-50%);white-space:normal;width:260px;z-index:30}.batch-performance .recharts-cartesian-axis-tick-value,.batch-performance .recharts-legend-item-text,.batch-performance .recharts-polar-angle-axis text,.batch-performance .recharts-polar-radius-axis text{fill:#1f2937!important}.batch-performance .recharts-tooltip-item,.batch-performance .recharts-tooltip-label{color:#1f2937!important}.perf-rankings{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:24px}.ranking-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px}.ranking-card h4{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px}.ranking-card table{border-collapse:collapse;width:100%}.ranking-card th{background:#f7f8fc;border-bottom:2px solid #e2e8f0;color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.ranking-card td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:14px;padding:10px 12px}.ranking-card tr:hover{background:#f7f8fc}.rank-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.rank-badge.top{background:linear-gradient(135deg,#48bb78,#38a169)}.rank-badge.bottom{background:linear-gradient(135deg,#ed8936,#dd6b20)}.student-name{color:#2d3748;display:block;font-weight:600}.student-id{color:#a0aec0;display:block;font-size:12px;margin-top:2px}.overall-score{color:#5b5fc7;font-weight:700}.perf-loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.perf-spinner{animation:perfSpin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#5b5fc7;height:40px;margin-bottom:16px;width:40px}@keyframes perfSpin{to{transform:rotate(1turn)}}.perf-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:12px;color:#c53030;padding:40px 20px;text-align:center}.perf-error p{font-size:16px;margin:0 0 16px}.perf-empty{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;color:#718096;padding:60px 20px;text-align:center}.perf-empty p:first-child{font-size:18px;margin-bottom:8px}.perf-empty p:last-child{font-size:14px}@media (max-width:1024px){.perf-charts-grid,.perf-rankings{grid-template-columns:1fr}}@media (max-width:768px){.perf-stat-cards{grid-template-columns:repeat(2,1fr)}.perf-filters{flex-direction:column}.perf-filters .filter-group,.perf-filters .filter-group input[type=date],.perf-filters .filter-group select{width:100%}.chart-card-expanded{bottom:8px;left:8px;padding:14px;right:8px;top:8px}}.chart-card,.perf-empty,.perf-error,.perf-filters,.perf-stat-card,.ranking-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.perf-filters .filter-group label,.perf-stat-card h4,.ranking-card th{color:var(--color-text-secondary);font-size:12px}.perf-filters .filter-group input[type=date],.perf-filters .filter-group select{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.perf-filters .filter-group input[type=date]:focus,.perf-filters .filter-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.chart-card h4,.overall-score,.perf-stat-card .stat-value,.ranking-card h4,.student-name{color:var(--color-text-primary)}.perf-stat-card.accent-blue .stat-value,.perf-stat-card.accent-green .stat-value,.perf-stat-card.accent-orange .stat-value,.perf-stat-card.accent-purple .stat-value,.perf-stat-card.accent-teal .stat-value,.perf-stat-card.accent-yellow .stat-value{color:var(--color-primary)}.rank-badge.bottom,.rank-badge.top{background:var(--color-primary-light);color:var(--color-primary)}.btn-clear-filters{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.btn-clear-filters:hover{background:#f3f4f6;border-color:var(--color-border);color:var(--color-text-primary)}.perf-spinner{border-top-color:var(--color-primary)}.batch-detail{background-color:#f7f8fc;margin-left:80px;padding:40px}.batch-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.back-button{background-color:#5b5fc7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.back-button:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.batch-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.analytics-box{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.analytics-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:25px;text-align:center}.analytics-card h3{color:#718096;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.analytics-value{color:#5b5fc7;font-size:36px;font-weight:700;margin:0}.batch-topics{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:30px;padding:25px}.batch-topics h3{color:#2d3748;font-size:18px;font-weight:600;margin-bottom:15px}.topics-list{display:flex;flex-wrap:wrap;gap:10px}.topic-tag{background-color:#eef2ff;border-radius:20px;color:#5b5fc7;font-size:14px;font-weight:500;padding:8px 16px}.management-buttons{display:flex;gap:15px;margin-bottom:30px}.batch-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:0;margin-bottom:24px;overflow:hidden}.batch-tab{background:#fff;border:none;color:#718096;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 24px;position:relative;transition:all .2s}.batch-tab:not(:last-child){border-right:1px solid #e2e8f0}.batch-tab:hover{background:#f7f8fc;color:#5b5fc7}.batch-tab.active{background:#5b5fc7;color:#fff}.batch-tab.active:hover{background:#4a4fb8}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background-color:#5b5fc7;color:#fff}.btn-primary:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.btn-secondary{background-color:#48bb78;color:#fff}.btn-secondary:hover{background-color:#38a169;box-shadow:0 2px 8px #48bb784d}.btn-outline{background-color:#fff;border:2px solid #5b5fc7;color:#5b5fc7}.btn-outline:hover{background-color:#5b5fc7;box-shadow:0 2px 8px #5b5fc74d;color:#fff}.btn-report{background:linear-gradient(135deg,gold,orange);color:#2d3748}.btn-report:hover{background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 4px 12px #ffd70066;transform:translateY(-1px)}.btn-report:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.exam-upload-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:30px;padding:25px}.exam-upload-section h3{color:#2d3748;font-size:18px;font-weight:600;margin-bottom:15px}.upload-actions{display:flex;gap:15px}.student-list-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:30px;padding:25px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.list-controls{display:flex;gap:10px}.search-input{border:1px solid #e2e8f0;border-radius:8px;width:250px}.filter-select,.search-input{font-size:14px;padding:10px 15px}.filter-select{border:1px solid #ddd;border-radius:6px;cursor:pointer}.student-table{overflow-x:auto}.student-table table{border-collapse:collapse;width:100%}.student-table td,.student-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.student-table th{background-color:#f8f9fa;color:#2c3e50;font-size:14px;font-weight:600}.student-table td{color:#555;font-size:14px}.student-table tr:hover{background-color:#f8f9fa}.btn-action{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 16px}.btn-action:hover{background-color:#2980b9}.analytics-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:25px}.analytics-section h3{color:#2c3e50;font-size:18px;margin-bottom:20px}.analytics-charts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;height:100%;padding:20px}.chart-container h4{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:20px;text-align:center}@media (max-width:768px){.analytics-box{grid-template-columns:repeat(2,1fr)}.list-controls,.management-buttons,.upload-actions{flex-direction:column}.list-controls,.search-input{width:100%}.analytics-charts{grid-template-columns:1fr}}.batch-detail{background:var(--color-bg);padding:var(--space-4)}.batch-header h2{color:var(--color-text-primary);font-size:24px}.batch-detail .back-button{background:var(--color-primary)}.batch-detail .back-button:hover{background:var(--color-primary-hover);box-shadow:none}.batch-detail .analytics-card,.batch-detail .analytics-section,.batch-detail .batch-tabs,.batch-detail .batch-topics,.batch-detail .chart-container,.batch-detail .exam-upload-section,.batch-detail .student-list-section{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.batch-detail .analytics-value{color:var(--color-primary)}.batch-detail .topic-tag{background:#f3f4f6;border:1px solid var(--color-border);border-radius:6px;color:#374151;font-size:12px;padding:4px 8px}.batch-detail .batch-tab{background:var(--color-surface);color:var(--color-text-secondary)}.batch-detail .batch-tab:hover{background:#f3f4f6;color:var(--color-text-primary)}.batch-detail .batch-tab.active{background:var(--color-primary-light);color:var(--color-primary)}.batch-detail .btn-action,.batch-detail .btn-outline,.batch-detail .btn-primary,.batch-detail .btn-report,.batch-detail .btn-secondary{border-radius:8px;box-shadow:none;font-weight:500}.batch-detail .btn-action,.batch-detail .btn-primary{background:var(--color-primary);color:#fff}.batch-detail .btn-action:hover,.batch-detail .btn-primary:hover{background:var(--color-primary-hover)}.batch-detail .btn-secondary{background:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-primary)}.batch-detail .btn-secondary:hover{background:var(--color-primary-light)}.batch-detail .btn-outline{background:#0000;border:1px solid var(--color-border);color:var(--color-text-secondary)}.batch-detail .btn-outline:hover{background:#f3f4f6;color:var(--color-text-primary)}.batch-detail .btn-report{background:var(--color-success);color:#fff}.batch-detail .btn-report:hover{background:#15803d;transform:none}.batch-detail .filter-select,.batch-detail .search-input{border:1px solid var(--color-border);border-radius:8px}.batch-detail .student-table th{background:#f9fafb;color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.btn-action-remove{background-color:#ef4444!important;color:#fff;transition:all .2s ease}.btn-action-remove:hover{background-color:#dc2626!important;box-shadow:0 2px 8px #ef444459}.remove-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.remove-modal{animation:slideUp .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:440px;padding:32px 36px;text-align:center;width:90%}.remove-modal-icon{font-size:48px;margin-bottom:12px}.remove-modal-title{color:#1a202c;font-size:20px;font-weight:700;margin:0 0 12px}.remove-modal-text{color:#4a5568;font-size:15px;line-height:1.6;margin:0 0 12px}.remove-modal-warning{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:13px;line-height:1.5;margin:0 0 24px;padding:10px 14px}.remove-modal-actions{display:flex;gap:12px;justify-content:center}.remove-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.remove-modal-btn:disabled{cursor:not-allowed;opacity:.6}.remove-modal-btn-cancel{background:#f1f5f9;color:#475569}.remove-modal-btn-cancel:hover:not(:disabled){background:#e2e8f0}.remove-modal-btn-confirm{background:#ef4444;color:#fff}.remove-modal-btn-confirm:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef444459}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.add-batch{background-color:#f7f8fc;margin-left:80px;min-height:100vh;padding:40px}.add-batch-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.add-batch-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.add-batch-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin:0 auto;max-width:800px;padding:40px}.form-section{margin-bottom:30px}.form-section h3{border-bottom:1px solid #e2e8f0;color:#2c3e50;font-size:18px;padding-bottom:10px}.form-group,.form-row,.form-section h3{margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group label{color:#4a5568;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-cancel{background-color:#fff;border:1px solid #cbd5e0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.btn-cancel:hover{background-color:#f7fafc;border-color:#a0aec0}.btn-submit{background-color:#5b5fc7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.btn-submit:hover{background-color:#4a4fb8;box-shadow:0 4px 12px #5b5fc733}.add-batch{background:var(--color-bg);padding:var(--space-4)}.add-batch-header h2{color:var(--color-text-primary);font-size:24px}.add-batch-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.add-batch .form-section h3{border-bottom-color:var(--color-border);color:var(--color-text-primary);font-size:16px}.add-batch .form-group label{color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.add-batch .form-group input,.add-batch .form-group select,.add-batch .form-group textarea{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.add-batch .form-group input:focus,.add-batch .form-group select:focus,.add-batch .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.add-batch .btn-cancel{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary);font-weight:500}.add-batch .btn-submit{background:var(--color-primary);font-weight:500}.add-batch .btn-submit:hover{background:var(--color-primary-hover);box-shadow:none}.achiever-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.achiever-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.achiever-card:hover{box-shadow:0 12px 24px #00000026;transform:translateY(-8px)}.achiever-photo{height:120px;margin:0 auto 20px;position:relative;width:120px}.achiever-photo img{border:4px solid #667eea;border-radius:50%;height:100%;object-fit:cover;width:100%}.achievement-badge{align-items:center;background:linear-gradient(135deg,gold,orange);border:3px solid #fff;border-radius:50%;bottom:-5px;box-shadow:0 2px 8px #0003;display:flex;height:40px;justify-content:center;position:absolute;right:-5px;width:40px}.trophy-icon{font-size:20px}.achiever-info{text-align:center}.achiever-name{color:#2d3748;font-size:20px;font-weight:700;margin:0 0 8px}.achiever-admission{color:#667eea;font-size:13px;font-weight:600;margin:0 0 4px}.achiever-batch{color:#718096;font-size:13px;margin:0 0 20px}.achievement-highlight{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;display:flex;gap:12px;margin-bottom:20px;padding:16px;text-align:left}.achievement-icon{flex-shrink:0;font-size:24px}.achievement-text h4{color:#2d3748;font-size:14px;font-weight:600;margin:0 0 4px}.achievement-text p{color:#718096;font-size:12px;line-height:1.4;margin:0}.achiever-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.stat-item{background:#f7fafc;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.stat-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#667eea;font-size:18px;font-weight:700}.view-profile-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.view-profile-btn:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.02)}.achiever-card-actions{display:flex;gap:8px;margin-top:4px}.delete-achiever-btn{background:#fff;border:2px solid #e53e3e;border-radius:8px;color:#e53e3e;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px;transition:all .2s}.delete-achiever-btn:hover{background:#e53e3e;color:#fff}@media (max-width:768px){.achiever-card{padding:20px}.achiever-photo{height:100px;width:100px}.achiever-stats{grid-template-columns:1fr}}.achiever-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.achiever-card:before{background:var(--color-primary);height:2px}.achiever-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-2px)}.achiever-photo img{border-color:var(--color-border)}.achievement-badge{background:var(--color-primary-light);border-color:var(--color-surface)}.achiever-name{color:var(--color-text-primary);font-size:18px;font-weight:600}.achiever-admission{color:var(--color-text-secondary)}.achievement-highlight,.stat-item{background:#f9fafb;border:1px solid var(--color-border)}.stat-value{color:var(--color-text-primary)}.view-profile-btn{background:var(--color-primary);font-weight:500}.view-profile-btn:hover{background:var(--color-primary-hover);box-shadow:none;transform:none}.delete-achiever-btn{border:1px solid var(--color-danger);color:var(--color-danger)}.delete-achiever-btn:hover{background:#fef2f2;color:var(--color-danger)}.add-achiever{background-color:#f7f8fc;margin-left:80px;min-height:100vh;padding:40px}.add-achiever-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.add-achiever-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.add-achiever .back-button{background-color:#5b5fc7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.add-achiever .back-button:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.add-achiever .form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:25px;padding:30px}.add-achiever .form-section h3{border-bottom:2px solid #5b5fc7;color:#2d3748;font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:10px}.add-achiever .form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.add-achiever .form-group{display:flex;flex-direction:column;gap:8px}.add-achiever .form-group label{color:#2d3748;font-size:13px;font-weight:600}.add-achiever .form-group input,.add-achiever .form-group select{border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:all .2s}.add-achiever .form-group input:focus,.add-achiever .form-group select:focus{border-color:#5b5fc7;box-shadow:0 0 0 3px #5b5fc71a;outline:none}.add-achiever .form-group input::placeholder{color:#bdc3c7}.search-hint{color:#64748b;font-size:12px}.clear-student-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-size:12px;margin-top:6px;padding:8px 10px}.student-search-results{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;padding:12px}.search-error{color:#b91c1c}.result-list{gap:8px;max-height:240px;overflow-y:auto}.result-item,.result-list{display:flex;flex-direction:column}.result-item{align-items:flex-start;background:#fff;border:1px solid #dbe4f0;border-radius:8px;cursor:pointer;gap:3px;padding:10px 12px;text-align:left}.result-item:hover{border-color:#5b5fc7;box-shadow:0 0 0 2px #5b5fc71a}.result-item span{color:#64748b;font-size:12px}.selected-student-preview{background:#ecfeff;border:1px solid #bae6fd;border-radius:10px;color:#0f172a;margin-top:14px;padding:12px}.selected-student-preview p{font-size:13px;margin:4px 0}.add-achiever .form-actions{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding:20px 30px}.add-achiever .btn-cancel{background-color:#cbd5e0;border:none;border-radius:8px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .2s}.add-achiever .btn-cancel:hover{background-color:#a0aec0}.add-achiever .btn-submit{background:linear-gradient(135deg,gold,orange);border:none;border-radius:8px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .2s}.add-achiever .btn-submit:hover{background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 2px 8px #ffd70066}@media (max-width:768px){.add-achiever{margin-left:0;padding:24px 16px}.add-achiever .form-grid{grid-template-columns:1fr}.add-achiever .form-actions{flex-direction:column}.add-achiever .btn-cancel,.add-achiever .btn-submit{width:100%}}.add-achiever{background:var(--color-bg);padding:var(--space-4)}.add-achiever-header h2{color:var(--color-text-primary);font-size:24px}.add-achiever .back-button{background:var(--color-primary)}.add-achiever .back-button:hover{background:var(--color-primary-hover);box-shadow:none}.add-achiever .form-actions,.add-achiever .form-section,.selected-student-preview,.student-search-results{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.add-achiever .form-section h3{border-bottom-color:var(--color-border);color:var(--color-text-primary);font-size:16px}.add-achiever .form-group label{color:var(--color-text-secondary);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.add-achiever .form-group input,.add-achiever .form-group select,.result-item{border-color:var(--color-border)}.add-achiever .form-group input:focus,.add-achiever .form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.add-achiever .btn-submit{background:var(--color-primary);color:#fff;font-weight:500}.add-achiever .btn-submit:hover{background:var(--color-primary-hover);box-shadow:none}.add-achiever .btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.add-achiever .btn-cancel:hover{background:#f3f4f6}.achievers-section{background:linear-gradient(135deg,#f7fafc,#edf2f7);min-height:100vh;padding:40px 24px}.achievers-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:40px;position:relative}.achievers-header .header-content{flex:1 1;text-align:center}.achievers-header .back-button{background-color:#5b5fc7;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;padding:10px 20px;position:static;transition:all .2s}.achievers-header .back-button:hover{background-color:#4a4fb8;box-shadow:0 2px 8px #5b5fc74d}.add-achiever-btn{background:linear-gradient(135deg,gold,orange);border:none;border-radius:8px;color:#2d3748;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.add-achiever-btn:hover{background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 4px 12px #ffd70066;transform:translateY(-1px)}.achievers-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:32px;font-weight:700;margin:0 0 12px}.achievers-header p{color:#718096;font-size:16px;margin:0}.achievers-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1400px}@media (max-width:768px){.achievers-section{padding:24px 16px}.achievers-header h2{font-size:24px}.achievers-header p{font-size:14px}.achievers-grid{gap:20px;grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1024px){.achievers-grid{grid-template-columns:repeat(2,1fr)}}.achievers-section{background:var(--color-bg);padding:var(--space-4)}.achievers-header{margin-bottom:var(--space-4)}.achievers-header h2{-webkit-text-fill-color:initial;background:none;color:var(--color-text-primary);font-size:24px}.achievers-header p{color:var(--color-text-secondary);font-size:14px}.achievers-header .back-button{background:var(--color-primary)}.achievers-header .back-button:hover{background:var(--color-primary-hover);box-shadow:none}.add-achiever-btn{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff;font-weight:500}.add-achiever-btn:hover{background:var(--color-primary-hover);box-shadow:none;transform:none}.dashboard{background-color:var(--color-bg);min-height:100vh;padding:var(--space-4)}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.breadcrumb{color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.filter-section{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.filter-container{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2)}.filter-top-row{align-items:center;display:flex;gap:var(--space-2)}.search-bar-wrapper{align-items:center;display:flex;flex:1 1;max-width:320px;position:relative}.search-icon{font-size:14px;left:10px;pointer-events:none;position:absolute;z-index:1}.batch-search-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:14px;padding:8px 32px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.batch-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.batch-search-input::placeholder,.search-clear-btn{color:var(--color-text-secondary)}.search-clear-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;padding:0 4px;position:absolute;right:6px;transition:color .15s ease}.search-clear-btn:hover{color:var(--color-text-primary)}.filter-options{animation:slideDown .3s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-3);max-width:540px;padding:var(--space-3)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-group label{color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.filter-group select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:14px;min-width:200px;padding:8px 12px}.filter-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.filter-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:var(--space-1);padding:8px 16px;transition:all .15s ease}.filter-button:hover{background:#f3f4f6;color:var(--color-text-primary)}.action-buttons{display:flex;gap:var(--space-2)}.btn-achievers,.btn-add-batch{align-items:center;border:1px solid #0000;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:var(--space-1);padding:8px 16px;transition:all .15s ease}.btn-achievers{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.btn-achievers:hover{background:var(--color-primary-light)}.btn-add-batch{background:var(--color-primary);color:#fff}.btn-add-batch:hover{background:var(--color-primary-hover)}.courses-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.dashboard-message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);grid-column:1/-1;padding:var(--space-5);text-align:center}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#991b1b;font-size:14px;margin-bottom:var(--space-3);padding:var(--space-3)}.login-page{background:linear-gradient(135deg,#0a1628,#1b2a4a 50%,#0f2040);gap:20px;justify-content:center;min-height:100vh;padding:20px}.login-container,.login-page{align-items:center;display:flex;flex-direction:column}.login-container{gap:30px;max-width:420px;width:100%}.login-brand{color:#fff;text-align:center}.login-logo{border-radius:16px;height:250px;object-fit:contain;width:400px}.login-brand h1{font-size:28px;font-weight:700;letter-spacing:2px;margin:0}.login-brand p{font-size:14px;margin-top:6px;opacity:.85}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;padding:36px 32px;width:100%}.login-card h2{color:#2d3748;font-size:22px;font-weight:700;margin:0 0 4px}.login-subtitle{color:#718096;font-size:14px;margin:0 0 24px}.login-error{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.login-field{margin-bottom:18px}.login-field label{color:#4a5568;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.login-field input,.login-field select{background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#2d3748;font-size:15px;padding:12px 14px;transition:all .2s;width:100%}.login-field input:focus,.login-field select:focus{background:#fff;border-color:#f58220;box-shadow:0 0 0 3px #f5822026;outline:none}.login-field input::placeholder{color:#a0aec0}.login-btn{background:linear-gradient(135deg,#f58220,#e06d10);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 6px 20px #f5822066;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-toggle{margin-top:20px;text-align:center}.login-toggle p{color:#718096;font-size:14px;margin:0}.login-toggle button{background:none;border:none;color:#f58220;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.login-toggle button:hover{color:#1b2a4a}@media (max-width:480px){.login-card{padding:28px 20px}.login-brand h1{font-size:22px}}
/*# sourceMappingURL=main.55c37c43.css.map*/