.messages-modal,.modal,.student-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1002;overflow:auto}.student-modal{z-index:2000;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.modal-content{background-color:#fefefe;margin:10% auto;padding:30px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.2);width:80%;max-width:500px;position:relative}.messages-container{background-color:var(--card-bg);border-radius:15px;width:90%;max-width:800px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 25px rgba(0,0,0,.2)}@keyframes modalFadeIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.student-container{background-color:var(--card-bg);border-radius:20px;width:90%;max-width:900px;height:fit-content;max-height:85vh;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,.25);animation:.4s ease-out modalFadeIn;display:flex;flex-direction:column}.student-header{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;padding:18px 25px;border-top-left-radius:20px;border-top-right-radius:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px rgba(0,0,0,.1);position:sticky;top:0;z-index:10;flex-shrink:0}.student-body{padding:30px;overflow-y:auto;flex-grow:1}.header-female{background:linear-gradient(135deg,#ff69b4,#ff8da1)!important}.btn-close-white{font-size:1.25rem;transition:transform .3s}.btn-close-white:hover{transform:rotate(90deg)}.close-modal{position:absolute;top:15px;right:15px;font-size:24px;font-weight:700;cursor:pointer}.lesson-content{padding-bottom:20px;border-bottom:1px solid #e0e0e0}.iframe-container{position:relative;overflow:hidden;padding-top:56.25%;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.1)}.lesson-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.exam-table tr.viewed{background-color:rgba(46,204,113,.1)}.exam-table tr.not-viewed{background-color:rgba(231,76,60,.1)}.exam-table tr:hover{background-color:rgba(0,0,0,.05);transition:background-color .2s}.filter-container{gap:10px}.filter-select{padding:8px 12px;border-radius:8px;border:1px solid #e0e0e0;background-color:#fff;font-size:.9rem}.filter-select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 5px rgba(52,152,219,.3)}.form-control{border-radius:8px;padding:8px 12px;border:1px solid #e0e0e0;transition:.3s}.form-control:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 5px rgba(52,152,219,.3)}