.sidebar{width:280px;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h1{margin-bottom:1rem}.sidebar-header h1{font-size:1.5rem;font-weight:600;margin:0}.debug-menu-container{position:relative}.debug-menu-button{background:none;border:none;color:#ffffffb3;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s;line-height:1}.debug-menu-button:hover{background-color:#ffffff1a;color:#fff}.debug-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:#34495e;border-radius:4px;box-shadow:0 4px 6px #0000004d;min-width:200px;z-index:1000;overflow:hidden}.debug-menu-item{width:100%;padding:.75rem 1rem;background:none;border:none;color:#fff;text-align:left;cursor:pointer;font-size:.9rem;transition:background-color .2s}.debug-menu-item:hover:not(:disabled){background-color:#ffffff1a}.debug-menu-item:disabled{opacity:.5;cursor:not-allowed}.percentile-settings{position:fixed;background-color:#34495e;border-radius:4px;box-shadow:0 4px 6px #0000004d;min-width:320px;max-width:min(90vw,400px);z-index:10000;overflow:hidden}.settings-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.settings-header h4{margin:0;color:#fff;font-size:1rem}.close-settings{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.close-settings:hover{opacity:1}.settings-content{padding:1rem}.setting-item{margin-bottom:1rem}.setting-item label{display:block;color:#fff;font-size:.9rem;margin-bottom:.5rem;font-weight:500}.setting-hint{display:block;font-size:.8rem;opacity:.7;font-weight:400;margin-top:.25rem}.setting-item input{width:100%;padding:.5rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background-color:#ffffff1a;color:#fff;font-size:1rem}.setting-item input:focus{outline:none;border-color:#3498db;background-color:#ffffff26}.settings-info{margin:1rem 0;padding:.75rem;background-color:#ffffff0d;border-radius:4px;font-size:.85rem;color:#fffc}.settings-info p{margin:0}.settings-actions{display:flex;gap:.5rem;margin-top:1rem}.save-settings-btn,.cancel-settings-btn{flex:1;padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.save-settings-btn{background-color:#27ae60;color:#fff}.save-settings-btn:hover{background-color:#229954}.cancel-settings-btn{background-color:#ffffff1a;color:#fff}.cancel-settings-btn:hover{background-color:#fff3}.sidebar-nav{padding:1rem 0 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.5rem}.sidebar-nav .class-selector{padding:0 1rem;margin-bottom:.5rem;display:flex;gap:.5rem;align-items:center;position:relative;z-index:1;width:100%;box-sizing:border-box}.class-dropdown{flex:1;min-width:0;padding:.75rem 2.5rem .75rem 1rem;border:none;border-radius:4px;background-color:#ffffff1a;color:#fff;font-size:.95rem;cursor:pointer;outline:none;transition:background-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.class-dropdown:hover{background-color:#ffffff26}.class-dropdown:focus{background-color:#ffffff26;outline:none}.class-dropdown option{background-color:#2c3e50;color:#fff}.class-name-edit-input{flex:1;padding:.75rem 1rem;border:none;border-radius:4px;background-color:#ffffff26;color:#fff;font-size:.95rem;outline:none;transition:background-color .2s}.class-name-edit-input:focus{background-color:#fff3;border:1px solid #3498db}.rename-class-btn{padding:.75rem;background-color:#ffffff1a;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;line-height:1;min-width:40px;max-width:40px;width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.rename-class-btn:hover{background-color:#fff3}.new-class-btn{padding:.75rem;background-color:#ffffff1a;color:#fff;border:none;border-radius:4px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:background-color .2s;line-height:1;min-width:40px;max-width:40px;width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.new-class-btn:hover{background-color:#fff3}.new-class-input{position:fixed;padding:.75rem;background-color:#34495e;border-radius:4px;box-shadow:0 4px 6px #0000004d;z-index:10000;display:flex;flex-direction:column;gap:.5rem;min-width:200px;max-width:calc(100vw - 1rem)}.class-name-input{padding:.75rem;border:none;border-radius:4px;background-color:#ffffff1a;color:#fff;font-size:.95rem;outline:none;transition:background-color .2s}.class-name-input:focus{background-color:#ffffff26}.class-name-input::placeholder{color:#ffffff80}.create-class-btn,.cancel-class-btn{padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.create-class-btn{background-color:#fff3;color:#fff}.create-class-btn:hover{background-color:#ffffff4d}.cancel-class-btn{background-color:#ffffff1a;color:#fff}.cancel-class-btn:hover{background-color:#fff3}.nav-item{width:100%;padding:.75rem 1.5rem;background:none;border:none;color:#fff;text-align:left;cursor:pointer;font-size:1rem;transition:background-color .2s}.nav-item:hover:not(:disabled){background-color:#ffffff1a}.nav-item.active{background-color:#fff3;font-weight:600}.nav-item:disabled{opacity:.5;cursor:not-allowed}.exams-list{flex:1;padding:1rem;overflow-y:auto}.exams-list h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;opacity:.8}.exam-items{display:flex;flex-direction:column;gap:.5rem}.exam-item{padding:.75rem;background-color:#ffffff0d;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s,opacity .2s,transform .2s;gap:.5rem;-webkit-user-select:none;user-select:none}.exam-item:hover{background-color:#ffffff1a}.exam-item.selected{background-color:#fff3;font-weight:600}.exam-item.dragging{opacity:.5;cursor:grabbing}.exam-item.drag-over{border-top:2px solid #3498db;transform:translateY(-2px)}.drag-handle{cursor:grab;color:#ffffff80;font-size:.8rem;line-height:1;padding:.25rem;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.exam-item:hover .drag-handle{color:#fffc}.exam-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;cursor:pointer;padding:.25rem;border-radius:2px;transition:background-color .2s}.exam-name:hover{background-color:#ffffff1a}.exam-name-input{flex:1;padding:.25rem .5rem;border:1px solid #3498db;border-radius:2px;background-color:#ffffff1a;color:#fff;font-size:inherit;font-family:inherit;outline:none}.exam-name-input:focus{background-color:#ffffff26;border-color:#2980b9}.delete-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0 .5rem;opacity:.7;transition:opacity .2s}.delete-btn:hover{opacity:1;color:#e74c3c}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}.export-btn,.import-btn{width:100%;padding:.75rem;background-color:#ffffff1a;border:none;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.export-btn:hover,.import-btn:hover{background-color:#fff3}.csv-import{max-width:800px;margin:0 auto}.csv-import h2{margin-bottom:.5rem;color:#2c3e50}.description{color:#666;margin-bottom:2rem}.drop-zone{border:3px dashed #ccc;border-radius:8px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s;background-color:#fff}.drop-zone:hover{border-color:#3498db;background-color:#f8f9fa}.drop-zone.dragging{border-color:#3498db;background-color:#e3f2fd}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.drop-icon{font-size:4rem}.drop-zone-content p{margin:0;font-size:1.1rem;color:#333}.hint{font-size:.9rem;color:#999}.preview-results{margin-top:2rem}.preview-results h3{margin-bottom:1rem;color:#2c3e50}.preview-success{margin-bottom:.5rem;padding:1rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.preview-error{margin-bottom:.5rem;padding:1rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.preview-summary{margin-top:1rem;padding:.75rem;background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;color:#004085;font-weight:500}.drop-zone.processing{opacity:.7;pointer-events:none}.processing-text{margin-top:.5rem;font-weight:600;color:#3498db}.tooltip-wrapper{position:relative;display:inline-block;cursor:help}.tooltip-content{position:fixed;padding:.75rem 1rem;background-color:#2c3e50;color:#fff;border-radius:4px;font-size:.875rem;line-height:1.4;white-space:normal;width:300px;z-index:10000;box-shadow:0 4px 6px #0003;pointer-events:none;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tooltip-content.tooltip-above:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#2c3e50}.tooltip-content.tooltip-below:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2c3e50}.exam-view{max-width:1400px;margin:0 auto}.exam-header{background-color:#fff;padding:2rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.exam-header h2{margin-bottom:1rem;color:#2c3e50}.exam-stats{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.9rem;color:#666}.stat-value{font-size:1.5rem;font-weight:600;color:#2c3e50}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.chart-container{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.chart-container h3{margin-bottom:1rem;color:#2c3e50}.questions-section{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.questions-section h3{margin-bottom:1rem;color:#2c3e50}.table-container{overflow-x:auto}.questions-table{width:100%;border-collapse:collapse}.questions-table th{background-color:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6}.questions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.questions-table th.sortable:hover{background-color:#e9ecef}.questions-table td{padding:.75rem 1rem;border-bottom:1px solid #dee2e6}.questions-table tbody tr:hover{background-color:#f8f9fa}@media (max-width: 1200px){.charts-section{grid-template-columns:1fr}}.question-bank-view{max-width:100%;margin:0 auto}.question-bank-layout{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.question-bank-left{min-width:0}.question-bank-header{background-color:#fff;padding:2rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.question-bank-header h2{margin-bottom:.5rem;color:#2c3e50}.subtitle{color:#666;margin:0}.filters-section{background-color:#fff;padding:1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500;color:#2c3e50}.filter-group select,.search-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.search-input{min-width:200px}.selection-section{background-color:#fff;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.select-all-btn{padding:.5rem 1rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.select-all-btn:hover{background-color:#2980b9}.selection-count{color:#666;font-size:.9rem}.table-container{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;margin-bottom:2rem}.question-bank-table{width:100%;border-collapse:collapse}.question-bank-table th{background-color:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6}.question-bank-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.question-bank-table th.sortable:hover{background-color:#e9ecef}.question-bank-table td{padding:.75rem 1rem;border-bottom:1px solid #dee2e6}.question-bank-table tbody tr:hover{background-color:#f8f9fa}.tooltip-icon{margin-left:.5rem;font-size:.9rem;display:inline-block}.exam-group{margin-bottom:2rem}.exam-group-header{color:#fff;padding:.75rem 1rem;margin:0 0 1rem;border-radius:4px;font-size:1.1rem;font-weight:600;box-shadow:0 2px 4px #0000001a}.draggable-row{cursor:grab}.draggable-row:active{cursor:grabbing}.question-pool-panel{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}.question-pool-panel h3{margin-top:0;margin-bottom:1rem;color:#2c3e50;border-bottom:2px solid #dee2e6;padding-bottom:.5rem}.pool-empty{padding:3rem 1rem;text-align:center;color:#999;border:2px dashed #ddd;border-radius:4px}.pool-empty p{margin:0}.pool-list{display:flex;flex-direction:column;gap:.75rem}.pool-item{padding:1rem;background-color:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;border:1px solid #dee2e6}.pool-item-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.pool-question-name{font-weight:600;color:#2c3e50;font-size:1rem}.pool-exam-name{font-size:.9rem;font-weight:500;margin-top:.25rem;padding:.25rem .5rem;border-radius:3px;display:inline-block;width:fit-content}.pool-stats{font-size:.85rem;color:#666;margin-top:.25rem}.pool-remove-btn{background:none;border:none;color:#e74c3c;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.pool-remove-btn:hover{color:#c0392b}.note-display{cursor:pointer;color:#666;font-size:1.2rem;display:inline-block;min-width:2rem}.note-display:hover{color:#3498db}.note-input{width:100%;padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:4px;box-shadow:0 4px 6px #0003;z-index:10000;animation:slideIn .3s ease-out;max-width:400px;font-size:.9rem}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background-color:#27ae60;color:#fff}.toast-info{background-color:#3498db;color:#fff}.toast-error{background-color:#e74c3c;color:#fff}.app{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;overflow-y:auto;padding:2rem;background-color:#f5f5f5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{width:100%;min-height:100vh}
