:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:300;color:#a7a7aa;text-decoration:none}a:hover{color:red;font-weight:700}body{margin:0;display:flex;place-items:top;min-width:320px;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,select,textarea{font:inherit;font-size:1em;padding:.6em .8em;border-radius:8px;border:1px solid #ccc;background-color:#fff;color:#000;box-sizing:border-box;width:100%}.menu{display:flex;flex-direction:row;gap:3px;align-items:center}.menu button{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:500;font-size:13px;padding:10px 16px;border-radius:4px;cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;overflow:hidden;min-width:120px;text-align:center}.menu button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.menu button:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.menu button:hover:before{left:100%}.menu button.active{background:#fff3;border-color:#fffc;color:#fff;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.7);box-shadow:inset 0 2px 4px #0000001a,0 0 10px #fff3}.menu button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#fffc}.App{margin:20px;padding:20px;width:90vw}.account-block{display:flex;flex-direction:row;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-start;margin-left:0;color:#fff;font-weight:500;font-size:18px;text-shadow:1px 1px 2px rgba(0,0,0,.7);position:relative}.avatar-menubar{width:40px;height:40px;border-radius:50%;margin-left:10px;margin-right:10px;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #0000004d}.account-block button{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:500;font-size:13px;padding:10px 16px;border-radius:4px;cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;overflow:hidden;min-width:120px;text-align:center}.account-block button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.account-block button:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.account-block button:hover:before{left:100%}.avatar{width:50px;height:50px;border-radius:50%;margin-bottom:10px}.user-avatar{width:50px;height:50px;border-radius:50%}.card{padding:2em}.motd{font-size:.8em;margin:20px 0 0;color:#fff;text-align:left}.motd h2{margin-top:0;color:#fff}.login-container{margin:40px auto 0;width:50vw;min-width:320px;max-width:500px;z-index:99;position:relative;box-sizing:border-box;padding:2rem;border:1px solid #ccc;border-radius:8px;background-color:#333}.app-header{display:flex;flex-direction:column;background:linear-gradient(135deg,#2d3436,#636e72,#2d3436);color:#ddd;border-bottom:3px solid #74b9ff;position:relative;min-height:400px;box-shadow:inset 0 0 20px #00000080}.app-logo-section{display:flex;justify-content:center;align-items:center;position:relative;padding:20px;background:radial-gradient(ellipse at center,rgba(116,185,255,.1) 0%,transparent 70%);border-bottom:2px solid rgba(116,185,255,.3)}.app-title-image{flex-shrink:0;text-align:center;max-width:100%}.app-title-image img{height:auto;width:100%;max-width:900px;min-width:300px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));display:block;margin:0 auto}.app-menu-container{display:flex;align-items:flex-start;margin-top:30px}.mobile-menu-row{display:contents}.filter-summary{margin-bottom:10px;margin-top:10px;color:#000;font-size:.9em}.app-robot{position:absolute;bottom:-20px;right:50px;width:140px;height:auto;z-index:25;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));transform:scaleX(-1)}.steampunk-menu-bar{display:flex;flex-direction:column;gap:0px;align-items:stretch;padding:50px 200px 50px 50px;background:transparent;border-top:1px solid rgba(255,255,255,.2);border-bottom:3px solid #2d3436;box-shadow:inset 0 2px 4px #ffffff1a,inset 0 -2px 4px #0000004d,0 4px 8px #0003;position:relative}.steampunk-account-bar{padding:0 50px 20px;position:relative;background:transparent}.steampunk-menu-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.steampunk-menu-bar:after{content:"";position:absolute;top:50%;left:20px;right:20px;height:1px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 8px,rgba(45,52,54,.3) 8px,rgba(45,52,54,.3) 12px);transform:translateY(-50%);z-index:1}.steampunk-nav-section{position:relative;z-index:2;flex:1;display:flex;justify-content:flex-start;padding-bottom:5px}.app-robot img{width:100%;height:auto;display:block;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.4))}.midline{display:flex;align-items:center;justify-content:center;margin:0 auto}.filter-column-right,.filter-column-left label{margin-left:8px;font-size:12px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:4px 6px;border:1px solid #ddd;vertical-align:top}th{background-color:#f4f4f4;color:#333}tbody tr:nth-child(2n){background-color:#f9f9f9}tbody tr:nth-child(odd){background-color:#fff}tbody tr:hover{background-color:#f1f1f1}thead,thead th{background-color:#333;color:#fff}tbody tr td{border:1px solid #ddd}.smallpad{display:flex;flex-direction:row;padding:2px}.modal{display:block;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080}.modal-content{background-color:#fefefe;margin:3% auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px;box-shadow:0 5px 15px #0000004d;color:#000;font-size:.8em}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal-content h2{margin-top:0}.modal-content ul{list-style-type:none;padding:0}.modal-content ul li{padding:5px 0;border-bottom:1px solid #ddd}.modal-content ul li:last-child{border-bottom:none}.bet-form{display:flex;flex-direction:column;gap:1rem;width:100%;border-collapse:collapse}.bet-form td{padding:8px}.input-group{display:flex;align-items:center}.input-group span{margin-right:.5rem}.form-group-button{display:flex;justify-content:center;margin-top:1rem;text-align:center;padding-top:1rem}.password-reminder{position:relative;font-size:12px;color:#ccc;top:-15px}.login-header{font-size:1.5em;font-weight:700;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:1rem;background-color:#282c34;padding-top:1rem;z-index:98;position:relative}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group-button{display:flex;flex-direction:column;margin-top:20px}.topgap{margin-top:5px}.leftgap{margin-left:5px}.nogap{margin:0}.central-overlay-spinner{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:9999;background-color:#00000080}.central-overlay-spinner .spinner-content{padding:20px;border-radius:10px;background-color:#fffc}.file-input-wrapper{position:relative;display:inline-block}.file-input-hidden{position:absolute;opacity:0;width:0;height:0}.file-input-button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s;display:inline-block;text-align:center;text-decoration:none}.file-input-button:hover{border-color:#646cff}.file-input-button:focus,.file-input-button:focus-visible{outline:4px auto -webkit-focus-ring-color}.avatar-container{display:flex;align-items:center;gap:10px}.avatar-menubar{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar-preview{width:60px;height:60px;border-radius:50%;object-fit:cover}.avatar-controls{display:flex;flex-direction:column}.avatar-reset-button{font-size:12px;padding:2px 8px}.admin-checkbox-container{display:flex;align-items:center;gap:4px}.full-width-input,.edit-modal-table{width:100%}.subject-dropdown-container{margin-bottom:20px}.subject-dropdown{margin-left:10px;padding:8px;min-width:200px}.no-topics-message{margin-top:20px;color:#666;font-style:italic}.create-new-option{font-weight:700;color:#06c}.uploaded-files-list{margin-top:10px;padding:10px;border:1px solid #ddd;border-radius:5px;background-color:#f9f9f9}.uploaded-files-list h4{margin:0 0 10px;color:#333;font-size:14px}.uploaded-file-item{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #eee}.uploaded-file-item:last-child{border-bottom:none}.uploaded-file-item .attachment-file-details h4{color:#333}.uploaded-file-item .attachment-file-meta{color:#666}.file-info{color:#333;font-size:12px;flex-grow:1}.remove-file-btn{background-color:#f44;color:#fff;border:none;border-radius:3px;padding:2px 6px;font-size:12px;cursor:pointer;margin-left:10px}.remove-file-btn:hover{background-color:#c00}.file-upload-info{margin-top:10px}.file-upload-info small{color:#666;font-size:11px;line-height:1.3}.question-item{margin-bottom:6px;list-style:none}.question-item ul{list-style:none;padding-left:0;margin:0}.question-link{cursor:pointer;color:#646cff;transition:color .25s,background-color .25s;padding:8px 12px;border-radius:4px;display:flex;flex-grow:1;align-items:center;text-align:left;word-wrap:break-word;word-break:break-word;line-height:1.5;min-height:40px}.question-link:hover{color:#535bf2;background-color:#646cff1a;text-decoration:underline}.question-link.bulk-mode{cursor:default;color:#fff;background-color:#ffffff05}.question-link.bulk-mode:hover{background-color:#ffffff0d;text-decoration:none;color:#fff}.question-item-content{display:flex;align-items:flex-start;gap:8px;width:100%;padding:4px;border-radius:4px;transition:background-color .2s}.question-item-content:hover{background-color:#ffffff05}.question-checkbox{margin-top:8px;cursor:pointer;flex-shrink:0;width:16px;height:16px}.topics-section{margin-top:20px}.topics-section ul{list-style:none;padding:0;margin:0}.question-action-buttons{display:flex;gap:10px;margin-top:15px}.question-action-buttons button{flex:0 0 auto}.bulk-upload-questions-button{background-color:#0e4fdb;border:none;color:#fff;border-radius:4px;padding:.6em 1.2em;font-size:.9em;transition:background-color .2s}.bulk-upload-questions-button:hover{background-color:#464db6}.random-question-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;font-size:1.1em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;margin-bottom:20px;display:inline-flex;align-items:center;gap:8px}.random-question-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99;background:linear-gradient(135deg,#764ba2,#667eea)}.random-question-btn:active{transform:translateY(0);box-shadow:0 2px 10px #667eea66}.questions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.bulk-actions{display:flex;gap:8px;align-items:center}.bulk-toggle-btn{background-color:#4a4a4a;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.bulk-toggle-btn:hover{background-color:#5a5a5a}.bulk-delete-btn{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.bulk-delete-btn:hover:not(:disabled){background-color:#c82333}.bulk-delete-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.delete-btn{background-color:transparent;border:none;cursor:pointer;font-size:16px;padding:6px 8px;border-radius:4px;transition:background-color .2s,opacity .2s;flex-shrink:0;opacity:.6;margin-top:2px}.delete-btn:hover{background-color:#dc35451a;opacity:1}.delete-btn.small{font-size:12px;padding:2px 4px}.subjects-management-section,.topics-management-section{margin:15px 0;padding:10px;border:1px solid #333;border-radius:4px;background-color:#ffffff03;opacity:.7}.subjects-management-section h3,.topics-management-section h3{font-size:.9em;color:#888;margin:0 0 8px;font-weight:400}.subjects-list,.topics-list{display:flex;flex-wrap:wrap;gap:6px}.subject-item,.topic-item{display:flex;align-items:center;gap:4px;padding:4px 6px;background-color:#646cff0d;border-radius:3px;border:1px solid rgba(100,108,255,.2);font-size:.8em}.subject-name,.topic-name{font-weight:400;color:#999}.subject-item .delete-btn.small,.topic-item .delete-btn.small{font-size:12px;padding:1px 3px;opacity:.6}.subject-item:hover,.topic-item:hover{opacity:1}.delete-modal{max-width:500px}.delete-warning{text-align:center;margin:20px 0}.delete-item-info{margin:15px 0;padding:10px;background-color:#ffffff0d;border-radius:4px;text-align:left}.delete-item-text{display:block;margin-top:5px;font-style:italic;color:#ccc}.cascade-warning{background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3);padding:10px;border-radius:4px;margin-top:10px}.delete-confirm-btn{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:700}.delete-confirm-btn:hover{background-color:#c82333;border-color:#bd2130}.reorder-controls{display:flex;flex-direction:column;gap:2px;margin-right:8px;flex-shrink:0}.reorder-btn{background-color:#4a4a4a;color:#fff;border:none;border-radius:3px;width:20px;height:20px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,opacity .2s;padding:0;line-height:1}.reorder-btn:hover:not(:disabled){background-color:#646cff}.reorder-btn:disabled{background-color:#333;color:#666;cursor:not-allowed;opacity:.5}.reorder-btn:active:not(:disabled){background-color:#535bf2;transform:scale(.95)}.question-item:hover .question-item-content{background-color:#646cff0d}.quiz-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.statistics-toggle-btn{background-color:#4a4a4a;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.statistics-toggle-btn:hover{background-color:#5a5a5a}.statistics-section{margin:20px 0;padding:20px;border:1px solid #444;border-radius:8px;background-color:#ffffff05}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin:15px 0}.stat-card{text-align:center;padding:15px;background-color:#646cff1a;border-radius:8px;border:1px solid rgba(100,108,255,.3)}.stat-number{font-size:2em;font-weight:700;color:#646cff;margin-bottom:5px}.stat-label{font-size:.9em;color:#ccc;text-transform:uppercase;letter-spacing:.5px}.subject-breakdown{margin-top:25px}.breakdown-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:#ffffff0d;border-radius:4px;border-left:3px solid #646cff}.breakdown-subject{font-weight:500;color:#fff}.breakdown-stats{font-size:.9em;color:#ccc}.recent-questions{margin-top:25px}.recent-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.recent-item{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:10px 15px;background-color:#ffffff0d;border-radius:4px;border-left:3px solid #28a745}.recent-id{font-weight:700;color:#646cff;min-width:50px}.recent-text{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-location{font-size:.8em;color:#888;text-align:right;min-width:150px}.export-import-section{margin:20px 0;border:1px solid #444;border-radius:8px;background-color:#ffffff05;overflow:hidden;font-size:.7em}.export-import-header{padding:15px 20px;background-color:#ffffff0d;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);transition:background-color .2s}.export-import-header:hover{background-color:#ffffff14}.export-import-header h3{margin:0;color:#fff}.export-import-toggle{font-size:1.2em;color:#888;transition:transform .3s ease,color .2s}.export-import-toggle.expanded{transform:rotate(180deg);color:#646cff}.export-import-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;padding:0 20px}.export-import-content.expanded{max-height:500px;padding:20px}.backup-data-section{margin:30px 0 0;border:1px solid #444;border-radius:8px;background-color:#ffffff05;overflow:hidden;font-size:.7em}.backup-data-header{width:100%;padding:15px 20px;background-color:#ffffff0d;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.1);transition:background-color .2s;color:inherit}.backup-data-header:hover{background-color:#ffffff14}.backup-data-title{font-size:1.2em;color:#fff}.backup-data-toggle{font-size:1.2em;color:#888;transition:transform .3s ease,color .2s}.backup-data-toggle.expanded{transform:rotate(180deg);color:#646cff}.backup-data-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;padding:0 20px}.backup-data-content.expanded{max-height:600px;padding:20px}.backup-description{margin-bottom:15px;color:#ccc;line-height:1.4}.backup-data-controls{display:grid;grid-template-columns:1fr 1fr;gap:30px}.export-import-controls{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:15px}.export-controls,.import-controls{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background-color:#ffffff05}.export-buttons{display:flex;flex-direction:column;gap:10px;margin-top:10px}.export-btn{background-color:#28a745;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;text-align:left;transition:background-color .2s}.export-btn:hover{background-color:#218838}.export-btn:disabled{background-color:#6c757d;cursor:not-allowed}.import-info{display:block;margin-top:10px;color:#888;font-size:.9em;line-height:1.4}@media (max-width: 1280px){.steampunk-menu-bar{padding:30px 160px 30px 30px}.steampunk-account-bar{padding:15px 30px}.app-title-image img{max-width:700px}.app-robot{width:140px;right:15px}}@media (max-width: 768px){.export-import-controls{grid-template-columns:1fr;gap:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.quiz-builder-header{flex-direction:column;gap:15px;align-items:flex-start}.steampunk-menu-bar{padding:20px 140px 20px 20px}.steampunk-account-bar{padding:0 20px 15px}.menu{justify-content:flex-start;flex-wrap:wrap;gap:8px}.menu button,.account-block button{min-width:100px;padding:8px 12px;font-size:12px}.account-block{justify-content:flex-start;flex-wrap:wrap;gap:8px;font-size:16px}.account-block button{margin-left:8px}.app-title-image img{max-width:500px;min-width:250px}.app-robot{width:120px;right:15px}}@media (max-width: 480px){.steampunk-menu-bar{padding:15px 70px 15px 10px}.steampunk-nav-section{justify-content:center}.steampunk-account-bar{padding:10px;text-align:center}.menu{justify-content:center;flex-wrap:wrap;gap:5px}.menu button{min-width:70px;padding:6px 8px;font-size:11px;white-space:nowrap}.account-block{justify-content:center;flex-wrap:wrap;gap:5px;font-size:14px;margin-bottom:10px}.account-block button{min-width:60px;padding:6px 8px;font-size:11px;margin-left:5px}.App{margin:5px;padding:5px;width:calc(100vw - 10px)}.app-title-image img{max-width:350px;min-width:200px}.app-robot{width:60px;right:5px}.account-block{word-break:break-word}}@media (min-width: 1281px){.steampunk-menu-bar{padding:30px 220px 30px 30px}.app-robot{width:200px;right:30px}}.student-interface{padding:20px;max-width:1200px;margin:0 auto}.interface-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #333}.navigation-breadcrumb{display:flex;align-items:center;margin-bottom:30px;font-size:16px;color:#ccc}.breadcrumb-active{color:#646cff;cursor:pointer;text-decoration:underline}.breadcrumb-current{color:#fff;font-weight:700}.breadcrumb-separator{margin:0 10px;color:#666}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.subject-card,.topic-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease}.subject-card:hover,.topic-card:hover{border-color:#646cff;transform:translateY(-2px);box-shadow:0 4px 12px #646cff33}.subject-card h3,.topic-card h3{margin:0 0 10px;color:#fff;font-size:18px}.subject-card p,.topic-card p{margin:0 0 15px;color:#ccc;font-size:14px;line-height:1.4}.progress-stats{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#999}.questions-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.question-item{display:flex;align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:15px 20px;cursor:pointer;transition:all .3s ease}.question-item:hover{border-color:#646cff;background:#222}.question-number{background:#646cff;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:15px;flex-shrink:0}.question-preview{flex-grow:1}.question-text{color:#fff;font-size:16px;line-height:1.4;margin-bottom:5px}.attachment-indicator{color:#999;font-size:12px}.question-status{color:#646cff;font-size:24px;font-weight:700}.start-arrow{transition:transform .3s ease}.question-item:hover .start-arrow{transform:translate(5px)}.answer-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.answer-modal-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.answer-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #333;background:#242424}.answer-modal-header h2{margin:0;color:#fff}.close-modal{background:transparent;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-modal:hover{color:#fff;background:#333;border-radius:50%}.answer-modal-body{flex-grow:1;overflow-y:auto;padding:30px;font-size:.6em}.question-section{margin-bottom:30px;font-size:.6em}.question-section h3{margin:0 0 15px;color:#646cff;font-size:18px}.question-content{background:#242424;border:1px solid #333;border-radius:8px;padding:20px;color:#fff;line-height:1.6;font-size:18px;margin-bottom:20px}.attachments-section{margin-top:20px}.attachments-section h4{margin:0 0 15px;color:#fff;font-size:16px}.attachment-item{background:#242424;border:1px solid #333;border-radius:8px;padding:15px;margin-bottom:15px}.attachment-item.attachment-file{display:flex;justify-content:space-between;align-items:center;gap:20px}.attachment-item h4{margin:0 0 10px;color:#ccc;font-size:14px}.attachment-file-info{display:flex;align-items:center;gap:16px}.attachment-file-icon{width:44px;height:44px;border-radius:10px;background:#3a3a3a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;text-transform:uppercase;letter-spacing:.5px}.attachment-file-icon--pdf{background:#d04b4b}.attachment-file-icon--word{background:#2b579a;font-size:.6rem}.attachment-file-icon--excel{background:#1b7248}.attachment-file-icon--powerpoint{background:#c43e2f}.attachment-file-icon--csv{background:#166534}.attachment-file-icon--text{background:#555}.attachment-file-icon--archive{background:#8f5d24}.attachment-file-icon--audio{background:#7d3cb5}.attachment-file-icon--video{background:#b83227}.attachment-file-icon--code{background:#2f4053}.attachment-file-icon--default{background:#444}.attachment-file-details h4{margin:0;color:#f0f0f0;font-size:14px}.attachment-file-meta{display:block;color:#9a9a9a;font-size:12px;margin-top:4px}.attachment-download-link{white-space:nowrap;font-size:18px}.question-image{max-width:100%;height:auto;border-radius:4px;margin-bottom:10px}.answer-section h3{margin:0 0 15px;color:#646cff;font-size:18px}.answer-textarea{width:100%;min-height:200px;background:#242424;border:1px solid #333;border-radius:8px;padding:15px;color:#fff;font-family:inherit;font-size:16px;line-height:1.5;resize:vertical}.answer-textarea:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.answer-modal-footer{display:flex;justify-content:flex-end;gap:15px;padding:20px 30px;border-top:1px solid #333;background:#242424}.ai-feedback-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1001}.ai-feedback-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.ai-feedback-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #333;background:#242424}.ai-feedback-header h2{margin:0;color:#646cff}.close-feedback{background:transparent;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-feedback:hover{color:#fff;background:#333;border-radius:50%}.ai-feedback-body{flex-grow:1;overflow-y:auto;padding:30px;color:#fff;line-height:1.4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:400}.ai-feedback-body h4{color:#646cff;margin:20px 0 10px;font-size:16px}.ai-feedback-body p{margin-bottom:15px}.ai-feedback-body ul{margin:10px 0;padding-left:20px}.ai-feedback-body li{margin-bottom:8px}.ai-feedback-footer{display:flex;justify-content:center;padding:20px 30px;border-top:1px solid #333;background:#242424}.interface-buttons{display:flex;gap:10px}.past-answers-section{padding:20px 0}.past-answers-loading{display:flex;justify-content:center;padding:40px 0}.no-responses-message{text-align:center;padding:40px 20px;color:#ccc;font-size:16px;line-height:1.6}.past-responses-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.past-response-item{display:flex;align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:15px 20px;cursor:pointer;transition:all .3s ease}.past-response-item:hover{border-color:#646cff;background:#222}.response-number{background:#28a745;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:15px;flex-shrink:0;font-size:14px}.response-preview{flex-grow:1}.response-subject-topic{color:#646cff;font-size:14px;margin-bottom:5px;font-weight:500}.response-question-preview{color:#fff;font-size:16px;line-height:1.4;margin-bottom:8px}.response-date{color:#999;font-size:12px}.attempt-badge{background:#ffc107;color:#000;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;margin-left:5px}.response-arrow{color:#646cff;font-size:24px;font-weight:700;transition:transform .3s ease}.past-response-item:hover .response-arrow{transform:translate(5px)}.past-answer-display{background:#242424;border:1px solid #333;border-radius:8px;padding:20px;color:#fff;line-height:1.6;margin-bottom:20px;white-space:pre-wrap}.feedback-section{margin-top:30px}.feedback-section h3{margin:0 0 15px;color:#646cff;font-size:20px}.ai-feedback-display{background:#242424;border:1px solid #333;border-radius:8px;padding:20px;color:#fff;line-height:1.4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;margin-bottom:20px}.ai-feedback-display h4{color:#646cff;margin:20px 0 10px;font-size:18px}.ai-feedback-display p{margin-bottom:18px}.ai-feedback-display ul{margin:10px 0;padding-left:20px}.ai-feedback-display li{margin-bottom:12px}.response-metadata{background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:8px;padding:15px;margin-top:20px}.response-metadata p{margin:5px 0;color:#ccc;font-size:14px}.response-metadata strong{color:#fff}.teacher-rating-badge{color:#fff;padding:2px 6px;border-radius:50%;font-size:10px;font-weight:700;margin-left:8px;min-width:18px;text-align:center;display:inline-block}.teacher-comment-indicator{color:#646cff;font-weight:500}.teacher-feedback-section{margin-top:30px;background:#28a7451a;border:1px solid rgba(40,167,69,.3);border-radius:8px;padding:20px}.teacher-feedback-section h3{margin:0 0 20px;color:#28a745;font-size:18px}.teacher-feedback-form{display:flex;flex-direction:column;gap:20px}.rating-section{display:flex;flex-direction:column;gap:10px}.rating-section label{font-weight:700;color:#fff}.rating-select{padding:8px 12px;border:1px solid #333;border-radius:4px;background:#242424;color:#fff;font-size:14px}.current-rating{font-weight:700;font-size:14px;margin-top:5px}.comment-section{display:flex;flex-direction:column;gap:10px}.comment-section label{font-weight:700;color:#fff}.teacher-comment-textarea{padding:12px;border:1px solid #333;border-radius:4px;background:#242424;color:#fff;font-family:inherit;font-size:14px;line-height:1.4;resize:vertical;min-height:120px}.teacher-comment-textarea:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 2px #28a74533}.existing-feedback-info{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:10px;font-size:12px;color:#ccc}.teacher-feedback-section-student{margin-top:30px;background:#28a7451a;border:1px solid rgba(40,167,69,.3);border-radius:8px;padding:20px}.teacher-feedback-section-student h3{margin:0 0 15px;color:#28a745;font-size:20px;display:flex;align-items:center;gap:10px}.teacher-rating-display{font-size:16px;font-weight:400}.teacher-comment-display{background:#242424;border:1px solid #333;border-radius:8px;padding:15px;color:#fff;line-height:1.6;margin-bottom:10px;white-space:pre-wrap;font-size:16px}.teacher-feedback-meta{font-size:12px;color:#999;margin-top:10px}.teacher-feedback-notification{background:linear-gradient(45deg,#28a745,#20c997);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;margin-left:8px;animation:pulse 2s infinite}.admin-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #333}.dashboard-stats{display:flex;gap:20px;font-size:14px;color:#ccc}.dashboard-stats span{background:#1a1a1a;border:1px solid #333;padding:0 12px;border-radius:6px;height:48px;display:flex;align-items:center}.queue-count{background:#1a1a1a!important;border:1px solid #333!important}.queue-count-active{background:#28a74526!important;border:1px solid #28a745!important;color:#28a745!important;font-weight:700;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.queue-actions{display:flex;gap:15px;margin-top:15px;align-items:center}.queue-actions span{background:#28a74526;border:1px solid #28a745;padding:0 16px;border-radius:6px;height:48px;display:flex;align-items:center;color:#28a745;font-weight:700;font-size:14px;white-space:nowrap;animation:pulse 2s infinite}.queue-actions button{flex:0 0 auto;white-space:nowrap;font-weight:600;font-size:15px;padding:0 24px;border-radius:6px;cursor:pointer;transition:all .3s ease;height:48px;display:flex;align-items:center;justify-content:center;border:none}.queue-actions .btn-primary{background:linear-gradient(135deg,#28a745,#20c997);border:none;color:#fff;box-shadow:0 4px 12px #28a74566}.queue-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #28a74599}.queue-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.queue-actions .btn-secondary{background:#1a1a1a;border:1px solid #333;color:#ccc}.queue-actions .btn-secondary:hover:not(:disabled){background:#2a2a2a;border-color:#555}.active-date-filter{margin-top:10px;padding:8px 12px;background:#1890ff1a;border:1px solid rgba(24,144,255,.3);border-radius:4px;font-size:14px;color:#1890ff}.active-date-filter strong{color:#fff}.dashboard-filters{margin-bottom:30px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:20px}.filter-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:20px}.filter-column-left,.filter-column-right{display:flex;flex-direction:column;gap:15px}.filter-actions{display:flex;justify-content:center}.filter-switch-container{display:flex;align-items:center}.filter-switch-label{display:flex;align-items:center;gap:10px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;margin:0}.filter-switch-text{-webkit-user-select:none;user-select:none}.filter-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.filter-select,.filter-date{padding:8px 12px;border:1px solid #333;border-radius:4px;background:#242424;color:#fff;min-width:150px}.filter-date{min-width:140px}.admin-response-item{display:flex;align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:15px 20px;margin-bottom:15px;cursor:pointer;transition:all .3s ease;position:relative}.admin-response-item:hover{border-color:#646cff;background:#222}.queued-item{border-color:#28a745!important;background:#28a7450d!important}.queued-item:hover{border-color:#28a745!important;background:#28a7451a!important}.queued-badge{position:absolute;top:-8px;right:20px;background:#28a745;color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;z-index:10;box-shadow:0 2px 4px #0003}.response-student{min-width:200px;margin-right:20px;flex-shrink:0}.student-name{font-weight:700;color:#646cff;font-size:16px;margin-bottom:4px}.student-email{color:#999;font-size:12px}.response-content{flex-grow:1}.response-subject-topic{color:#28a745;font-size:14px;margin-bottom:5px;font-weight:500}.response-question-preview{color:#fff;font-size:14px;line-height:1.4;margin-bottom:8px}.response-metadata{color:#999;font-size:12px}.response-arrow{color:#646cff;font-size:24px;font-weight:700;transition:transform .3s ease;margin-left:15px}.admin-response-item:hover .response-arrow{transform:translate(5px)}.student-info-section{margin-bottom:30px;background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:8px;padding:15px}.student-info-section h3{margin:0 0 15px;color:#646cff;font-size:18px}.student-info-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.student-info-details p{margin:5px 0;color:#ccc;font-size:14px}.student-info-details strong{color:#fff}@media (max-width: 768px){.admin-dashboard{padding:15px}.dashboard-header{flex-direction:column;gap:15px;align-items:flex-start}.dashboard-stats{flex-direction:column;gap:10px;width:100%}.filter-columns{grid-template-columns:1fr;gap:20px}.filter-row{flex-direction:column;align-items:stretch}.filter-select,.filter-date{min-width:auto;width:100%}.admin-response-item{flex-direction:column;align-items:flex-start;gap:15px}.response-student{min-width:auto;margin-right:0;width:100%}.student-info-details{grid-template-columns:1fr}}@media (max-width: 768px){.student-interface{padding:15px}.interface-buttons{flex-direction:column;gap:10px}.past-response-item{flex-direction:column;align-items:flex-start;gap:10px}.response-number{align-self:flex-start}.interface-header{flex-direction:column;gap:15px;align-items:flex-start}.items-grid{grid-template-columns:1fr}.question-item{flex-direction:column;align-items:flex-start;gap:10px}.question-number{align-self:flex-start}.answer-modal-content{width:95%;margin:10px;font-size:.5em}.answer-modal-body{padding:20px}.answer-modal-footer{flex-direction:column;gap:10px}}@media (max-width: 480px){.student-interface{padding:5px;margin-top:-10px}.interface-header{margin-bottom:15px;padding-bottom:10px}.interface-header h1{font-size:1.3em;margin-bottom:10px}.interface-buttons{margin-bottom:15px}.interface-buttons button{width:100%;padding:10px;font-size:.9em;margin-bottom:6px}.subject-card,.topic-card{padding:12px;margin-bottom:8px}.subject-card h3,.topic-card h3{font-size:15px;margin-bottom:6px}.subject-card p,.topic-card p{font-size:13px;margin-bottom:8px}.question-item{padding:10px 12px;margin-bottom:8px}.question-text{font-size:13px;line-height:1.3}.question-number{width:32px;height:32px;font-size:13px;margin-right:10px}.answer-modal-content{width:98%;margin:5px;max-height:95vh}.answer-modal-header{padding:12px 15px}.answer-modal-header h2{font-size:1.1em}.answer-modal-body{padding:12px}.answer-textarea{min-height:120px;font-size:14px;padding:10px}.admin-dashboard{padding:5px}.dashboard-header h1{font-size:1.3em;margin-bottom:10px}.dashboard-stats{flex-direction:column;gap:5px}.dashboard-stats span{padding:6px 10px;font-size:.85em}}.admin-actions-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.bulk-upload-format-info{background-color:#f9f9f9;padding:15px;border-radius:4px;margin-bottom:20px}.bulk-upload-format-info h4{margin-top:0;color:#1890ff}.bulk-upload-format-info code{display:block;background-color:#fff;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:Courier New,monospace;font-size:12px;white-space:pre-line}.bulk-upload-progress{margin-top:15px;padding:10px;border-radius:4px;font-size:13px}.bulk-upload-progress.success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.bulk-upload-progress.error{background-color:#ffebee;border:1px solid #ffcdd2;color:#f5222d}.csv-format-example{font-family:Courier New,monospace;font-size:11px;line-height:1.4}.security-warning{background-color:#fff2e6;padding:15px;border-radius:5px;border-left:4px solid #faad14;margin:20px 0}.security-warning h4{margin-top:0;color:#faad14}.admin-actions-bar{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #ddd}.bulk-upload-button{background-color:#1890ff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.bulk-upload-button:hover{background-color:#40a9ff;border-color:#40a9ff}.admin-actions-description{margin-left:10px;font-size:12px;color:#666}.delete-button-danger{background-color:#dc3545;border-color:#dc3545}.delete-button-danger:hover{background-color:#c82333;border-color:#bd2130}.edit-modal-large{max-width:700px}.bulk-upload-modal{max-width:600px}.bulk-upload-format-section{margin-bottom:20px;padding:15px;background-color:#f9f9f9;border-radius:4px}.bulk-upload-format-description{font-size:12px;color:#666;margin-bottom:10px}.bulk-upload-format-code{display:block;background-color:#fff;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:Courier New,monospace;font-size:12px;white-space:pre-line}.bulk-upload-format-notes{font-size:11px;color:#888;margin-top:10px}.bulk-upload-password-label{width:150px}.bulk-upload-password-hint{color:#666;font-size:11px}.bulk-upload-file-selected{margin-top:10px;font-size:12px;color:#52c41a}.bulk-upload-progress-container{margin-top:15px;padding:10px;border-radius:4px;font-size:13px}.bulk-upload-progress-success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.bulk-upload-progress-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#f5222d}.bulk-upload-submit-button{background-color:#52c41a;cursor:pointer}.bulk-upload-submit-button:disabled{background-color:#ccc;cursor:not-allowed}.bulk-upload-submit-button:hover:not(:disabled){background-color:#73d13d}.bulk-upload-access-section{margin:20px 0;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.bulk-upload-access-section h4{margin:0 0 10px;color:#1890ff;font-size:16px}.bulk-upload-access-description{margin:0 0 15px;font-size:14px;color:#666;line-height:1.4}@media (max-width: 768px){.admin-actions-bar{flex-direction:column;align-items:flex-start;gap:8px}.admin-actions-description{margin-left:0;margin-top:5px}.bulk-upload-modal{max-width:95%;margin:10px}.bulk-upload-format-section{padding:10px}.bulk-upload-format-code{font-size:10px;padding:8px;overflow-x:auto}.bulk-upload-password-label{width:auto;display:block;padding-bottom:5px}.edit-modal-large{max-width:95%;margin:10px}}.login-title{position:relative;top:20px;text-align:center;z-index:10;max-width:400px;width:60vw;min-width:280px;margin:0 auto 20px}.login-title img{width:100%;height:auto;display:block}.login-robot{position:absolute;top:-85px;right:-20px;z-index:2000;width:120px;height:auto;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}.login-robot img{width:100%;height:auto;display:block;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}@media (max-width: 768px){.login-title{max-width:200px;width:60vw;margin-bottom:10px}.login-container{margin-top:60px;width:85vw}.motd{width:85vw;max-width:85vw;min-width:auto}.login-robot{top:-35px;right:-8px;width:60px}}@media (max-width: 480px){.login-title{max-width:80px!important;width:25vw!important;margin-bottom:5px}.login-title img{width:80%!important;height:auto!important}.login-container{margin-top:80px!important;width:85vw!important;max-width:85vw!important;min-width:auto!important;padding:0!important;margin-left:auto!important;margin-right:auto!important}.motd{width:85vw!important;max-width:85vw!important;min-width:auto!important;font-size:.7em!important;padding:.8em!important}.login-robot{top:-60px;right:-15px;width:100px;height:auto}.login-robot img{width:100%;height:auto}.login-form{padding:2.5rem .8rem .8rem!important;margin:0!important;width:100%!important;box-sizing:border-box!important}.login-form input{font-size:16px!important;padding:.7em!important;margin-bottom:1rem!important;border-radius:6px!important;width:calc(100% - 1.4em)!important;max-width:none!important;box-sizing:content-box!important}.login-form button{padding:.7em 1em!important;font-size:1em!important;margin-top:10px!important;width:100%!important;max-width:100%!important;border-radius:6px!important;box-sizing:border-box!important}.login-form label{font-size:.9em!important;margin-bottom:.4rem!important;display:block!important;font-weight:500!important}.login-form .form-group{margin-bottom:1rem!important;width:100%!important}.login-form .form-group-button{margin-top:1.2rem!important;width:100%!important}body{overflow-x:hidden!important}*{box-sizing:border-box!important}}.access-control-tree{font-size:14px;max-height:300px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:10px;background-color:#f9f9f9}.access-control-header{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.access-control-header h4{margin:0 0 5px;font-size:16px;color:#333}.access-tree{font-size:14px}.subject-node{margin-bottom:8px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff}.subject-header{display:flex;align-items:center;padding:8px 10px;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.expand-button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;background:none;border:none;cursor:pointer;padding:0;margin-right:8px;color:#666;border-radius:2px;transition:background-color .2s}.expand-button:hover{background-color:#e0e0e0}.tree-checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;font-weight:400}.tree-checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0 8px 0 0;cursor:pointer;flex-shrink:0;position:relative;top:0}.tree-checkbox-label strong{font-weight:600;color:#333}.topics-container{background-color:#fff;border-top:1px solid #e0e0e0}.topic-node{padding:6px 10px 6px 35px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.topic-node:last-child{border-bottom:none}.topic-node:hover{background-color:#f8f8f8}.topic-node .tree-checkbox-label{font-weight:400;color:#555}.access-tree-loading,.access-tree-empty{padding:20px;text-align:center;color:#666;font-style:italic}.access-tree-loading{display:flex;align-items:center;justify-content:center;gap:10px}.tree-checkbox-label input[type=checkbox]:indeterminate{background-color:#646cff;border-color:#646cff}.tree-checkbox-label input[type=checkbox]:checked{background-color:#646cff;border-color:#646cff}.edit-modal-large{max-width:800px}.edit-modal-table td:has(.access-control-tree){vertical-align:top;min-width:300px}.analytics-module{padding:20px;background-color:#1e1e1e;color:#fff;min-height:100vh}.analytics-header{margin-bottom:30px;text-align:center}.analytics-header h2{color:#646cff;margin-bottom:10px}.analytics-header p{color:#ccc;font-size:16px}.analytics-controls{margin-bottom:30px;padding:20px;background-color:#ffffff0d;border-radius:8px}.controls-row{display:flex;align-items:flex-end;gap:20px;margin-bottom:20px}.view-selector{display:flex;flex-direction:column;gap:5px;min-width:200px}.filter-selector-column{display:flex;gap:20px;align-items:flex-start;width:100%}.filter-selector{display:flex;flex-direction:column;gap:5px}.view-selector label,.filter-selector label{font-weight:500;color:#ccc;font-size:14px}.view-selector select,.filter-selector select{padding:8px 12px;border-radius:4px;border:1px solid #444;background-color:#2a2a2a;color:#fff;min-width:200px}.search-filter{margin-bottom:15px;padding:10px;background-color:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.search-filter label{font-size:13px;color:#aaa;margin-bottom:5px;display:block}.filter-input{width:100%;padding:8px 12px;border-radius:4px;border:1px solid #555;background-color:#1a1a1a;color:#fff;font-size:14px;transition:border-color .3s ease}.filter-input:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.filter-input::placeholder{color:#666}.filter-info{color:#888;font-size:12px;margin-top:5px;font-style:italic}.results-column{flex:1;min-width:300px}.results-header{background-color:#ffffff1a;padding:10px 15px;border-radius:6px 6px 0 0;border-bottom:1px solid rgba(255,255,255,.2);font-weight:500;color:#ccc;font-size:14px}.results-list{max-height:300px;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-top:none;border-radius:0 0 6px 6px;background-color:#ffffff05}.result-item{padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background-color .2s ease}.result-item:hover{background-color:#ffffff14}.result-item.selected{background-color:#646cff33;border-left:3px solid #646cff}.result-item:last-child{border-bottom:none}.student-name,.department-name,.question-text{color:#fff;font-weight:500;margin-bottom:4px}.student-location,.question-meta{color:#aaa;font-size:12px}.no-results{padding:20px;text-align:center;color:#666;font-style:italic}.results-list::-webkit-scrollbar{width:6px}.results-list::-webkit-scrollbar-track{background:#ffffff0d}.results-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.results-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.load-analytics-btn{background-color:#646cff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:500;margin-top:20px}.load-analytics-btn:hover:not(:disabled){background-color:#535bf2}.load-analytics-btn:disabled{background-color:#444;cursor:not-allowed;opacity:.6}.analytics-section{background-color:#ffffff05;border-radius:8px;padding:25px;margin-bottom:20px}.analytics-section h3{color:#646cff;margin-bottom:20px;font-size:24px}.analytics-section h4{color:#fff;margin:25px 0 15px;font-size:18px}.rag-rating-section{margin:25px 0;padding:20px;background-color:#ffffff08;border-radius:6px}.rag-stats{display:flex;gap:30px;justify-content:center}.rag-stat{display:flex;flex-direction:column;align-items:center;padding:15px;border-radius:6px;min-width:120px}.rag-stat.red{background-color:#dc35451a;border:1px solid rgba(220,53,69,.3)}.rag-stat.amber{background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3)}.rag-stat.green{background-color:#28a7451a;border:1px solid rgba(40,167,69,.3)}.rag-label{font-weight:700;margin-bottom:5px}.rag-count{font-size:24px;font-weight:700;margin-bottom:5px}.rag-percent{font-size:14px;color:#ccc}.table-container{margin-top:25px;overflow-x:auto}.table-container table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:6px;overflow:hidden;border:1px solid #ddd}.table-container th{background-color:#f8f9fa;color:#333;padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}.table-container td{padding:10px 12px;border-bottom:1px solid #dee2e6;color:#333;background-color:#fff}.table-container tr:hover,.table-container tr:hover td{background-color:#f8f9fa}.red-stat{color:#dc3545!important;font-weight:600}.amber-stat{color:#e67e00!important;font-weight:600}.green-stat{color:#28a745!important;font-weight:600}.improvement-stat{color:#17a2b8!important;font-weight:600}.rag-red{color:#dc3545;font-weight:700}.rag-amber{color:#e67e00;font-weight:700}.rag-green{color:#28a745;font-weight:700}.rag-unrated{color:#6c757d;font-weight:700}.rag-stat.unrated,.rag-stat.unrated .rag-label,.rag-stat.unrated .rag-count,.rag-stat.unrated .rag-percent{color:#6c757d!important}@media (max-width: 768px){.analytics-controls{flex-direction:column;align-items:stretch}.view-selector,.filter-selector{width:100%}.view-selector select,.filter-selector select{min-width:100%}.rag-stats{flex-direction:column;gap:15px}.stats-grid{grid-template-columns:repeat(2,1fr)}}.clickable-student-name{cursor:pointer!important;color:#1890ff!important;text-decoration:underline!important;transition:all .2s ease}.clickable-student-name:hover{color:#40a9ff!important;text-decoration:none!important;font-weight:700;background-color:#1890ff1a;padding:2px 4px;border-radius:3px}.ant-modal-content{background-color:#1a1a1a!important;border:1px solid #333!important}.ant-modal-header{background-color:#1a1a1a!important;border-bottom:1px solid #333!important}.ant-modal-title,.ant-modal-close-x{color:#fff!important}.ant-modal-body{background-color:#1a1a1a!important;color:#fff!important}.progress-chart-container{background:#fff;border-radius:8px;padding:20px;margin:10px 0;max-width:100%;overflow:hidden}.progress-chart-container canvas{max-width:100%!important;height:auto!important;border:1px solid #d9d9d9;border-radius:4px}.chart-legend{margin-top:20px;text-align:center;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.legend-items{display:inline-flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:15px}.legend-item{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:500}.chart-stats{margin-top:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;font-size:14px;color:#333}
