*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{max-width:100vw}.app,body,html{overflow-x:hidden}.app{min-height:100vh}.loading{align-items:center;color:#666;display:flex;font-size:1.2rem;height:100vh;justify-content:center}.container{margin:0 auto;max-width:1200px;overflow-x:hidden;padding:20px}.header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.header h1{font-size:1.5rem;margin:0}.header-right{align-items:center;display:flex;gap:15px}.btn,.header-right span{font-size:.9rem}.btn{border:none;border-radius:4px;cursor:pointer;padding:8px 16px;transition:background-color .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#219a52}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.card h2{color:#2c3e50;margin-top:0}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:1rem;padding:10px;width:100%}input[type=time]{width:auto}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}.form-group select option{background:#fff!important;color:#333!important}.form-group textarea{min-height:100px;resize:vertical}.error{color:#e74c3c}.error,.success{font-size:.9rem;margin-top:5px}.success{color:#27ae60}table{border-collapse:collapse;width:100%}table td,table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}table th{font-weight:600}table th,table tr:hover{background:#f8f9fa}.tabs{display:flex;gap:10px;margin-bottom:20px}.tab{background:#ecf0f1;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:10px 20px}.tab.active{background:#3498db;color:#fff}.tab:hover:not(.active){background:#bdc3c7}.login-container{align-items:center;background:linear-gradient(135deg,#2c3e50,#3498db);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:40px;width:100%}.login-card h1{color:#2c3e50;margin-bottom:30px;text-align:center}.likert-scale{justify-content:space-between;padding:10px 0}.likert-option,.likert-scale{align-items:center;display:flex}.likert-option{cursor:pointer;flex-direction:column}.likert-option input{margin-bottom:5px}.likert-labels,.likert-option span{color:#666;font-size:.8rem}.likert-labels{display:flex;justify-content:space-between;margin-top:5px}.phase-tabs{display:flex;gap:10px;margin-bottom:20px}.phase-tab{background:#ecf0f1;border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:1rem;padding:15px;text-align:center}.phase-tab.active{background:#3498db;color:#fff}.phase-tab.completed{background:#16a085;color:#fff}.phase-tab.final-eval{background:#9b59b6;color:#fff}.evaluation-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.evaluation-section:last-child{border-bottom:none}.member-name{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:15px}.criteria-item{margin-bottom:20px}.criteria-label{color:#333;font-weight:500;margin-bottom:8px}.criteria-description{color:#666;font-weight:400;margin-left:10px}.score-input{align-items:center;display:flex;gap:10px}.score-input input{text-align:center;width:80px}.score-input span{color:#666}.file-upload{border:2px dashed #ddd;border-radius:8px;cursor:pointer;padding:30px;text-align:center;transition:border-color .2s}.file-upload:hover{border-color:#3498db}.file-upload input{display:none}.file-upload p{color:#666;margin:0}.admin-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.message{border-radius:4px;margin-bottom:15px;padding:10px 15px}.message.error{background:#fde8e8;border:1px solid #f5c6c6;color:#c0392b}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.theme-toggle{background:#0000;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.theme-toggle:hover{background:#ffffff1a;border-color:#ffffff80}body.dark-mode{background-color:#0f0f0f;color:#e0e0e0}body.dark-mode .loading{color:#888}body.dark-mode .header{background:#1a1a1a;border-bottom:1px solid #2a2a2a}body.dark-mode .card{background:#1a1a1a;border:1px solid #2a2a2a;box-shadow:0 2px 8px #00000080}body.dark-mode .card h2{color:#f0f0f0}body.dark-mode .form-group label{color:silver}body.dark-mode .form-group input,body.dark-mode .form-group select,body.dark-mode .form-group textarea{background:#0f0f0f;border-color:#333;color:#e0e0e0}body.dark-mode .form-group input::placeholder,body.dark-mode .form-group textarea::placeholder{color:#666}body.dark-mode table th{background:#1f1f1f;color:#f0f0f0}body.dark-mode table td{border-bottom-color:#2a2a2a;color:#d0d0d0}body.dark-mode table tr:hover{background:#252525}body.dark-mode .tab{background:#1f1f1f;color:#b0b0b0}body.dark-mode .tab:hover:not(.active){background:#2a2a2a}body.dark-mode .tab.active{background:#3498db;color:#fff}body.dark-mode .phase-tab{background:#1f1f1f;border:1px solid #333;color:#b0b0b0}body.dark-mode .phase-tab.active{background:#3498db;border:1px solid #3498db;color:#fff}body.dark-mode .phase-tab.completed{background:#27ae60;border:1px solid #27ae60;color:#fff}body.dark-mode .phase-tab.final-eval{background:#9b59b6;border:1px solid #9b59b6;color:#fff}body.dark-mode .phase-tab.final-eval.completed{background:#27ae60;border:1px solid #27ae60;color:#fff}body.dark-mode .login-container{background:linear-gradient(135deg,#1a1a2e,#16213e)}body.dark-mode .login-card{background:#1a1a1a;border:1px solid #2a2a2a}body.dark-mode .login-card h1{color:#f0f0f0}body.dark-mode .likert-labels,body.dark-mode .likert-option span{color:#999}body.dark-mode .member-name{color:#5dade2}body.dark-mode .criteria-label{color:#f0f0f0}body.dark-mode .criteria-description,body.dark-mode .score-input span{color:#999}body.dark-mode .file-upload{border-color:#333}body.dark-mode .file-upload:hover{border-color:#3498db}body.dark-mode .file-upload p{color:#777}body.dark-mode .message.error{background:#2d1515;border-color:#e74c3c;color:#e74c3c}body.dark-mode .message.success{background:#1a2d1a;border-color:#27ae60;color:#2ecc71}body.dark-mode .evaluation-section{border-bottom-color:#2a2a2a}body.dark-mode .btn-primary{background:#3498db;color:#fff}body.dark-mode .btn-primary:hover{background:#5dade2}body.dark-mode .btn-secondary{background:#555;color:#fff}body.dark-mode .btn-secondary:hover{background:#666}body.dark-mode .btn-success{background:#27ae60;color:#fff}body.dark-mode .btn-success:hover{background:#2ecc71}body.dark-mode .btn-danger{background:#e74c3c;color:#fff}body.dark-mode .btn-danger:hover{background:#ec7063}body.dark-mode .btn:disabled{background:#333;color:#666;cursor:not-allowed}.report-student-card{background:#f8f9fa;border-radius:8px;padding:15px}.report-student-card h3,.report-student-card h4{color:#2c3e50;margin:0 0 15px}.report-student-card h4 span{color:#666;font-weight:400}.report-muted-text{color:#666}.report-empty-text{color:#999;font-style:italic}.report-progress-bg{background:#ddd;border-radius:4px;overflow:hidden}.report-comment-border{border-bottom:1px solid #ddd}.report-phase-header{border-bottom:2px solid #3498db;color:inherit;margin-bottom:20px;padding-bottom:10px}body.dark-mode .report-student-card{background:#1f1f1f;border:1px solid #333}body.dark-mode .report-student-card h3,body.dark-mode .report-student-card h4{color:#f0f0f0}body.dark-mode .report-student-card h4 span{color:#999}body.dark-mode .report-student-card div{color:#d0d0d0}body.dark-mode .report-muted-text{color:#999}body.dark-mode .report-empty-text{color:#666;opacity:.9}body.dark-mode .report-progress-bg{background:#0f0f0f;border:1px solid #333}body.dark-mode .report-comment-border{border-bottom-color:#333}body.dark-mode .report-phase-header{border-bottom-color:#3498db;color:#5dade2}.header select,.header-right select{-webkit-appearance:menulist;appearance:menulist;background-color:#fff!important;color:#000!important}.header select option,.header-right select option{-webkit-text-fill-color:#000!important;background-color:#fff!important;color:#000!important}select{-webkit-text-fill-color:#333;background-color:#fff;color:#333}select option{-webkit-text-fill-color:#000!important;background-color:#fff!important;color:#000!important}body.dark-mode .header select,body.dark-mode .header-right select{-webkit-text-fill-color:#e0e0e0!important;background-color:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .header select option,body.dark-mode .header-right select option{-webkit-text-fill-color:#e0e0e0!important;background-color:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode select{-webkit-text-fill-color:#e0e0e0;background-color:#1a1a1a;color:#e0e0e0}body.dark-mode select option{-webkit-text-fill-color:#e0e0e0!important;background-color:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode input[type=date],body.dark-mode input[type=datetime-local],body.dark-mode input[type=time]{-webkit-text-fill-color:#e0e0e0!important;color:#e0e0e0!important;color-scheme:dark}body.dark-mode input[type=date]::-webkit-calendar-picker-indicator,body.dark-mode input[type=datetime-local]::-webkit-calendar-picker-indicator,body.dark-mode input[type=time]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23e0e0e0'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3C/svg%3E");cursor:pointer}body.dark-mode input[type=time]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23e0e0e0'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z'/%3E%3C/svg%3E")}.admin-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.admin-stat-card{background:#fff;border-left:4px solid #3498db;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:transform .2s,box-shadow .2s}.admin-stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.admin-stat-card.clickable{cursor:pointer}.admin-stat-card.clickable:active{transform:translateY(0)}.admin-stat-card.success{border-left-color:#27ae60}.admin-stat-card.warning{border-left-color:#f39c12}.admin-stat-card.danger{border-left-color:#e74c3c}.admin-stat-card.info{border-left-color:#3498db}.admin-stat-card.purple{border-left-color:#9b59b6}.admin-stat-value{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1.2}.admin-stat-label{color:#7f8c8d;font-size:.85rem;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.admin-stat-sublabel{color:#95a5a6;font-size:.75rem;margin-top:2px}body.dark-mode .admin-stat-card{background:#1a1a1a;border:1px solid #2a2a2a;box-shadow:0 2px 8px #0006}body.dark-mode .admin-stat-value{color:#f0f0f0}body.dark-mode .admin-stat-label{color:#999}body.dark-mode .admin-stat-sublabel{color:#666}.mobile-nav-card{display:none}.mobile-nav-card .admin-stat-label{font-size:1rem;font-weight:600;letter-spacing:normal;text-transform:none}.mobile-nav-card .admin-stat-sublabel{font-size:.8rem}.admin-tabs{background:#ecf0f1;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.admin-tab{background:#0000;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;position:relative;transition:all .2s;white-space:nowrap}.admin-tab:hover:not(.active){background:#ffffff80;color:#2c3e50}.admin-tab.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#2c3e50}.admin-tab-badge{border-radius:9px;font-size:.7rem;font-weight:600;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:6px;text-align:center;top:6px}.admin-tab-badge.warning{background:#f39c12;color:#fff}.admin-tab-badge.danger{background:#e74c3c;color:#fff}.admin-tab-badge.success{background:#27ae60;color:#fff}.tab-badge{align-items:center;background:#e74c3c;border-radius:10px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px}body.dark-mode .tab-badge{background:#c0392b}body.dark-mode .admin-tabs{background:#1f1f1f}body.dark-mode .admin-tab{color:#999}body.dark-mode .admin-tab:hover:not(.active){background:#ffffff0d;color:#e0e0e0}body.dark-mode .admin-tab.active{background:#0f0f0f;box-shadow:0 2px 4px #0000004d;color:#f0f0f0}.admin-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;display:flex;flex-direction:column;padding:0}.admin-header-top{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:12px 24px}.admin-header-brand{align-items:center;display:flex;gap:12px}.admin-header-brand h1{font-size:1.4rem;font-weight:600;margin:0}.admin-header-actions{align-items:center;display:flex;gap:12px}.admin-header-bottom{align-items:center;background:#0000001a;display:flex;justify-content:space-between;padding:12px 24px}.admin-class-selector{align-items:center;display:flex;gap:12px}.admin-class-selector-label{color:#ffffffb3;font-size:.85rem}.admin-class-selector-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:8px;min-width:250px;padding:8px 16px;text-align:left;transition:all .2s}.admin-class-selector-btn:hover{background:#ffffff26;border-color:#ffffff4d}.admin-class-selector-btn .arrow{font-size:.8rem;margin-left:auto}.admin-class-info{align-items:center;color:#fffc;display:flex;font-size:.85rem;gap:16px}.admin-class-info-item{align-items:center;display:flex;gap:6px}.admin-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;overflow:hidden}.admin-card-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:16px 20px}.admin-card-header h2,.admin-card-header h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.admin-card-body{padding:20px}.admin-card-footer{background:#f8f9fa;border-top:1px solid #ecf0f1;color:#7f8c8d;font-size:.85rem;padding:12px 20px}body.dark-mode .admin-card{background:#1a1a1a;border:1px solid #2a2a2a;box-shadow:0 2px 8px #0006}body.dark-mode .admin-card-header{border-bottom-color:#2a2a2a}body.dark-mode .admin-card-header h2,body.dark-mode .admin-card-header h3{color:#f0f0f0}body.dark-mode .admin-card-footer{background:#1f1f1f;border-top-color:#2a2a2a;color:#999}.admin-empty-state{color:#95a5a6;padding:48px 24px;text-align:center}.admin-empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.admin-empty-state-title{color:#7f8c8d;font-size:1.2rem;font-weight:600;margin-bottom:8px}.admin-empty-state-text{color:#95a5a6;font-size:.95rem;margin:0 auto;max-width:400px}body.dark-mode .admin-empty-state-title{color:#999}body.dark-mode .admin-empty-state-text{color:#666}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-quick-action{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#495057;cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:8px 16px;transition:all .2s}.admin-quick-action:hover{background:#e9ecef;border-color:#dee2e6}.admin-quick-action.primary{background:#3498db;border-color:#3498db;color:#fff}.admin-quick-action.primary:hover{background:#2980b9;border-color:#2980b9}body.dark-mode .admin-quick-action{background:#1f1f1f;border-color:#333;color:#d0d0d0}body.dark-mode .admin-quick-action:hover{background:#2a2a2a;border-color:#444}.progress-mini{align-items:center;background:#f8f9fa;border-radius:12px;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:4px 10px}.progress-mini.complete{background:#d4edda;color:#155724}.progress-mini.partial{background:#fff3cd;color:#856404}.progress-mini.incomplete{background:#f8d7da;color:#721c24}body.dark-mode .progress-mini{background:#1f1f1f;color:#d0d0d0}body.dark-mode .progress-mini.complete{background:#1a2d1a;color:#2ecc71}body.dark-mode .progress-mini.partial{background:#2d2a1a;color:#f39c12}body.dark-mode .progress-mini.incomplete{background:#2d1a1a;color:#e74c3c}.class-selector-container{margin-bottom:24px}.class-selector-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.class-selector-wrapper{flex:1 1;max-width:400px;min-width:280px;position:relative}.class-selector-label{color:#7f8c8d;display:block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.class-selector-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#2c3e50;cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;padding:12px 16px;transition:all .2s;width:100%}.class-selector-btn:hover{border-color:#3498db}.class-selector-btn:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.class-selector-value{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-selector-arrow{color:#95a5a6;font-size:.8rem;margin-left:10px}.class-selector-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 20px #00000026;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.class-selector-empty{color:#95a5a6;padding:20px;text-align:center}.class-selector-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:10px 16px;transition:background .15s}.class-selector-item:hover{background:#f8f9fa}.class-selector-item.selected{background:#e8f4fd}.class-selector-item-name{color:#2c3e50;flex:1 1;font-weight:500}.class-selector-item-section{color:#7f8c8d;font-weight:400;margin-left:6px}.class-selector-item-semester{color:#95a5a6;font-size:.85rem;margin-left:8px}.class-selector-item-edit{background:#0000;border:1px solid #e0e0e0;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:.8rem;padding:4px 10px;transition:all .15s}.class-selector-item-edit:hover{background:#3498db;border-color:#3498db;color:#fff}.class-selector-divider{background:#e0e0e0;height:1px;margin:8px 0}.class-selector-action{align-items:center;color:#3498db;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 16px;transition:background .15s}.class-selector-action:hover{background:#e8f4fd}.class-selector-action-icon{font-size:1.2rem;font-weight:600}.class-selector-archived-toggle{align-items:center;color:#95a5a6;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;transition:background .15s}.class-selector-archived-toggle:hover{background:#f8f9fa}.class-selector-archived-list{background:#f8f9fa;border-top:1px solid #e0e0e0}.class-selector-archived-item{align-items:center;color:#7f8c8d;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 16px 8px 32px}.class-selector-archived-item button{background:#0000;border:1px solid #ddd;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:.75rem;padding:3px 8px}.class-selector-archived-item button:hover{background:#e0e0e0}.class-selector-archived-empty{color:#bdc3c7;font-size:.85rem;font-style:italic;padding:10px 16px 10px 32px}.class-selector-copy-btn,.class-selector-new-btn,.class-selector-settings-btn{border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .2s;white-space:nowrap}.class-selector-copy-btn,.class-selector-settings-btn{background:#fff;border:2px solid #e0e0e0;color:#7f8c8d}.class-selector-copy-btn:hover,.class-selector-settings-btn:hover{border-color:#3498db;color:#3498db}.class-selector-new-btn{background:#3498db;border:2px solid #3498db;color:#fff}.class-selector-new-btn:hover{background:#2980b9;border-color:#2980b9}body.dark-mode .class-selector-label{color:#999}body.dark-mode .class-selector-btn{background:#1a1a1a;border-color:#333;color:#f0f0f0}body.dark-mode .class-selector-btn:hover{border-color:#3498db}body.dark-mode .class-selector-btn:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33}body.dark-mode .class-selector-arrow{color:#666}body.dark-mode .class-selector-dropdown{background:#1a1a1a;border-color:#333;box-shadow:0 4px 20px #0006}body.dark-mode .class-selector-empty{color:#666}body.dark-mode .class-selector-item.selected,body.dark-mode .class-selector-item:hover{background:#252525}body.dark-mode .class-selector-item-name{color:#f0f0f0}body.dark-mode .class-selector-item-section{color:#999}body.dark-mode .class-selector-item-semester{color:#666}body.dark-mode .class-selector-item-edit{border-color:#444;color:#999}body.dark-mode .class-selector-item-edit:hover{background:#3498db;border-color:#3498db;color:#fff}body.dark-mode .class-selector-divider{background:#333}body.dark-mode .class-selector-action{color:#3498db}body.dark-mode .class-selector-action:hover{background:#252525}body.dark-mode .class-selector-archived-toggle{color:#666}body.dark-mode .class-selector-archived-toggle:hover{background:#252525}body.dark-mode .class-selector-archived-list{background:#0f0f0f;border-top-color:#333}body.dark-mode .class-selector-archived-item{color:#999}body.dark-mode .class-selector-archived-item button{border-color:#444;color:#999}body.dark-mode .class-selector-archived-item button:hover{background:#333}body.dark-mode .class-selector-archived-empty{color:#555}body.dark-mode .class-selector-copy-btn,body.dark-mode .class-selector-settings-btn{background:#1a1a1a;border-color:#333;color:#999}body.dark-mode .class-selector-copy-btn:hover,body.dark-mode .class-selector-settings-btn:hover{border-color:#3498db;color:#3498db}body.dark-mode .class-selector-new-btn{background:#3498db;border-color:#3498db}body.dark-mode .class-selector-new-btn:hover{background:#5dade2;border-color:#5dade2}.student-class-selector{margin-bottom:20px;position:relative}.student-class-current{color:#2c3e50;font-size:1.1rem;font-weight:500}.student-class-current .student-class-section{color:#7f8c8d;margin-left:6px}.student-class-current .student-class-semester{color:#95a5a6;margin-left:8px}.student-class-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;display:inline-flex;font-size:1rem;gap:10px;padding:10px 16px;transition:all .2s}.student-class-btn:hover{border-color:#3498db}.student-class-btn:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.student-class-value{font-weight:500}.student-class-arrow{color:#95a5a6;font-size:.75rem}.student-class-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;min-width:280px;overflow-y:auto;position:absolute;top:calc(100% + 4px);z-index:1000}.student-class-item{color:#2c3e50;cursor:pointer;font-weight:500;padding:12px 16px;transition:background .15s}.student-class-item:hover{background:#f8f9fa}.student-class-item.selected{background:#e8f4fd;color:#2980b9}.student-class-item .student-class-section{color:#7f8c8d;font-weight:400;margin-left:6px}.student-class-item .student-class-semester{color:#95a5a6;font-size:.9rem;margin-left:8px}body.dark-mode .student-class-current{color:#f0f0f0}body.dark-mode .student-class-current .student-class-section{color:#999}body.dark-mode .student-class-current .student-class-semester{color:#666}body.dark-mode .student-class-btn{background:#1a1a1a;border-color:#333;color:#f0f0f0}body.dark-mode .student-class-btn:hover{border-color:#3498db}body.dark-mode .student-class-btn:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db4d}body.dark-mode .student-class-arrow{color:#666}body.dark-mode .student-class-dropdown{background:#1a1a1a;border-color:#333;box-shadow:0 4px 12px #0006}body.dark-mode .student-class-item{color:#f0f0f0}body.dark-mode .student-class-item:hover{background:#252525}body.dark-mode .student-class-item.selected{background:#252525;color:#3498db}body.dark-mode .student-class-item .student-class-section{color:#999}body.dark-mode .student-class-item .student-class-semester{color:#666}.landing-page{background:#fff;color:#2c3e50;min-height:100vh}.landing-page.dark{background:#0f0f0f;color:#e0e0e0}.landing-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000001a;left:0;position:fixed;right:0;top:0;z-index:1000}.landing-page.dark .landing-nav{background:#0f0f0ff2;border-bottom-color:#ffffff1a}.landing-nav-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:15px 24px}.landing-logo{align-items:center;display:flex;font-size:1.4rem;font-weight:700;gap:10px}.landing-logo-icon{font-size:1.6rem}.landing-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3498db,#2c3e50);-webkit-background-clip:text;background-clip:text}.landing-page.dark .landing-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#5dade2,#3498db);-webkit-background-clip:text;background-clip:text}.landing-nav-actions{align-items:center;display:flex;gap:12px}.landing-login-link{border-radius:6px;color:#2563eb;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s ease}.landing-login-link:hover{background:#2563eb1a;text-decoration:underline}.dark .landing-login-link{color:#60a5fa}.dark .landing-login-link:hover{background:#60a5fa26}.landing-page .theme-toggle{background:#0000000d;border:1px solid #0003;color:#2c3e50}.landing-page .theme-toggle:hover{background:#0000001a;border-color:#0000004d}.landing-page.dark .theme-toggle{background:#ffffff1a;border:1px solid #ffffff4d;color:#e0e0e0}.landing-page.dark .theme-toggle:hover{background:#ffffff26;border-color:#ffffff80}.landing-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s}.landing-btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 4px 15px #3498db4d;color:#fff}.landing-btn-primary:hover{box-shadow:0 6px 20px #3498db66;transform:translateY(-2px)}.landing-btn-secondary{background:#0000;border:2px solid #e0e0e0;color:#2c3e50}.landing-page.dark .landing-btn-secondary{border-color:#444;color:#e0e0e0}.landing-btn-secondary:hover{border-color:#3498db;color:#3498db}.landing-btn-outline{background:#0000;border:2px solid #3498db;color:#3498db}.landing-btn-outline:hover{background:#3498db;color:#fff}.landing-btn-white{background:#fff;color:#2c3e50}.landing-btn-white:hover{background:#f8f9fa;transform:translateY(-2px)}.landing-btn-lg{font-size:1.05rem;padding:14px 28px}.landing-hero{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:140px 24px 80px}@media (max-width:900px){.landing-hero{grid-template-columns:1fr;padding:120px 24px 60px;text-align:center}}.landing-hero-content{max-width:560px}@media (max-width:900px){.landing-hero-content{margin:0 auto;max-width:100%}}.landing-hero-title{color:#2c3e50;font-size:3.2rem;font-weight:800;line-height:1.15;margin:0 0 20px}.landing-page.dark .landing-hero-title{color:#f0f0f0}.landing-hero-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3498db,#27ae60);-webkit-background-clip:text;background-clip:text;display:block}.landing-hero-subtitle{color:#666;font-size:1.2rem;line-height:1.7;margin:0 0 32px}.landing-page.dark .landing-hero-subtitle{color:#999}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:16px}@media (max-width:900px){.landing-hero-actions{justify-content:center}}.landing-hero-stats{border-top:1px solid #e0e0e0;display:flex;gap:40px;margin-top:48px;padding-top:32px}.landing-page.dark .landing-hero-stats{border-top-color:#333}@media (max-width:900px){.landing-hero-stats{justify-content:center}}.landing-stat{display:flex;flex-direction:column}.landing-stat-number{color:#3498db;font-size:1.8rem;font-weight:700}.landing-stat-label{color:#7f8c8d;font-size:.85rem}.landing-hero-image{display:flex;justify-content:center}@media (max-width:900px){.landing-hero-image{display:none}}.landing-screenshot-container{background:#1a1a1a;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:500px;overflow:hidden;width:100%}.landing-screenshot-header{background:#2c2c2c;display:flex;gap:8px;padding:12px 16px}.landing-screenshot-dot{border-radius:50%;height:12px;width:12px}.landing-screenshot-dot.red{background:#ff5f56}.landing-screenshot-dot.yellow{background:#ffbd2e}.landing-screenshot-dot.green{background:#27c93f}.landing-screenshot-content{display:flex;min-height:300px}.landing-screenshot-sidebar{background:#232323;display:flex;flex-direction:column;gap:12px;padding:20px 12px;width:60px}.landing-screenshot-menu-item{background:#333;border-radius:6px;height:36px}.landing-screenshot-menu-item.active{background:#3498db}.landing-screenshot-main{background:#0f0f0f;flex:1 1;padding:20px}.landing-screenshot-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:20px}.landing-screenshot-card-header{background:#333;border-radius:4px;height:20px;margin-bottom:16px;width:60%}.landing-screenshot-progress{background:#2a2a2a;border-radius:4px;height:8px;margin-bottom:20px;overflow:hidden}.landing-screenshot-progress-bar{background:linear-gradient(90deg,#27ae60,#2ecc71);border-radius:4px;height:100%}.landing-screenshot-rows{display:flex;flex-direction:column;gap:12px}.landing-screenshot-row{align-items:center;background:#232323;border-radius:6px;display:flex;gap:12px;padding:10px}.landing-screenshot-avatar{background:linear-gradient(135deg,#3498db,#9b59b6);border-radius:50%;height:32px;width:32px}.landing-screenshot-text{background:#333;border-radius:4px;flex:1 1;height:12px}.landing-screenshot-badge{border-radius:50%;height:20px;width:20px}.landing-screenshot-badge.complete{background:#27ae60}.landing-screenshot-badge.pending{background:#f39c12}.landing-features{background:#f8f9fa;padding:100px 24px}.landing-page.dark .landing-features{background:#1a1a1a}.landing-section-content{margin:0 auto;max-width:1200px}.landing-section-title{color:#2c3e50;font-size:2.4rem;font-weight:700;margin:0 0 16px;text-align:center}.landing-page.dark .landing-section-title{color:#f0f0f0}.landing-section-subtitle{color:#666;font-size:1.15rem;margin:0 auto 60px;max-width:600px;text-align:center}.landing-page.dark .landing-section-subtitle{color:#999}.landing-features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.landing-feature-card{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;padding:32px;transition:transform .2s,box-shadow .2s}.landing-page.dark .landing-feature-card{background:#232323;border:1px solid #333}.landing-feature-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-4px)}.landing-feature-icon{font-size:2.5rem;margin-bottom:16px}.landing-feature-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 12px}.landing-page.dark .landing-feature-title{color:#f0f0f0}.landing-feature-description{color:#666;font-size:.95rem;line-height:1.6;margin:0}.landing-page.dark .landing-feature-description{color:#999}.landing-how-it-works{padding:100px 24px}.landing-steps{align-items:flex-start;display:flex;flex-wrap:wrap;gap:0;justify-content:center}@media (max-width:900px){.landing-steps{align-items:center;flex-direction:column}}.landing-step{flex:1 1;max-width:250px;padding:20px;text-align:center}.landing-step-number{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;box-shadow:0 4px 15px #3498db4d;color:#fff;display:flex;font-size:1.4rem;font-weight:700;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.landing-step-title{color:#2c3e50;font-size:1.15rem;font-weight:600;margin:0 0 12px}.landing-page.dark .landing-step-title{color:#f0f0f0}.landing-step-description{color:#666;font-size:.95rem;line-height:1.6;margin:0}.landing-page.dark .landing-step-description{color:#999}.landing-step-connector{background:linear-gradient(90deg,#3498db,#2980b9);height:2px;margin-top:47px;width:60px}@media (max-width:900px){.landing-step-connector{height:40px;margin:0;width:2px}}.landing-screenshots{background:#f8f9fa;padding:100px 24px}.landing-page.dark .landing-screenshots{background:#1a1a1a}.landing-screenshot-gallery{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.landing-gallery-item{text-align:center}.landing-gallery-item h3{color:#2c3e50;font-size:1.15rem;font-weight:600;margin:20px 0 8px}.landing-page.dark .landing-gallery-item h3{color:#f0f0f0}.landing-gallery-item p{color:#666;font-size:.95rem;margin:0}.landing-page.dark .landing-gallery-item p{color:#999}.landing-gallery-preview{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;min-height:220px;padding:20px}.landing-gallery-mock-header{border-bottom:1px solid #333;color:#666;font-size:.85rem;margin-bottom:16px;padding-bottom:10px}.landing-gallery-mock-stats{display:flex;gap:10px;margin-bottom:16px}.landing-gallery-mock-stat{background:#232323;border-left:3px solid #3498db;border-radius:6px;flex:1 1;height:50px}.landing-gallery-mock-tabs{display:flex;gap:8px;margin-bottom:16px}.landing-gallery-mock-tab{background:#2a2a2a;border-radius:4px;height:30px;width:80px}.landing-gallery-mock-tab.active{background:#3498db}.landing-gallery-mock-table{display:flex;flex-direction:column;gap:8px}.landing-gallery-mock-row{background:#232323;border-radius:4px;height:36px}.landing-gallery-mock-phases{display:flex;gap:8px;margin-bottom:20px}.landing-gallery-mock-phase{background:#2a2a2a;border-radius:4px;flex:1 1;height:36px}.landing-gallery-mock-phase.complete{background:#27ae60}.landing-gallery-mock-phase.active{background:#3498db}.landing-gallery-mock-eval{background:#232323;border-radius:8px;padding:16px}.landing-gallery-mock-member{background:#333;border-radius:4px;height:16px;margin-bottom:16px;width:40%}.landing-gallery-mock-likert{display:flex;justify-content:space-around;padding:10px}.landing-gallery-mock-dot{background:#444;border:2px solid #555;border-radius:50%;height:20px;width:20px}.landing-gallery-mock-dot.selected{background:#3498db;border-color:#3498db}.landing-gallery-mock-chart{align-items:flex-end;display:flex;height:120px;justify-content:space-around;padding:10px}.landing-gallery-mock-bar{background:linear-gradient(180deg,#3498db,#27ae60);border-radius:4px 4px 0 0;width:30px}.landing-gallery-mock-legend{display:flex;gap:20px;justify-content:center;margin-top:16px}.landing-gallery-mock-legend-item{background:#333;border-radius:4px;height:12px;width:60px}.landing-use-cases{padding:100px 24px}.landing-use-cases-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.landing-use-case{background:#f8f9fa;border-radius:12px;padding:40px 24px;text-align:center;transition:transform .2s}.landing-page.dark .landing-use-case{background:#1a1a1a;border:1px solid #2a2a2a}.landing-use-case:hover{transform:translateY(-4px)}.landing-use-case-icon{font-size:3rem;margin-bottom:16px}.landing-use-case h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 12px}.landing-page.dark .landing-use-case h3{color:#f0f0f0}.landing-use-case p{color:#666;font-size:.95rem;line-height:1.6;margin:0}.landing-page.dark .landing-use-case p{color:#999}.landing-cta{background:linear-gradient(135deg,#2c3e50,#3498db);padding:100px 24px;text-align:center}.landing-cta-content{margin:0 auto;max-width:600px}.landing-cta h2{color:#fff;font-size:2.2rem;font-weight:700;margin:0 0 16px}.landing-cta p{color:#ffffffd9;font-size:1.1rem;margin:0 0 32px}.landing-footer{background:#1a1a1a;color:#999;padding:40px 24px}.landing-footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}@media (max-width:600px){.landing-footer-content{flex-direction:column;text-align:center}}.landing-footer-brand{align-items:center;display:flex;gap:10px}.landing-footer-brand .landing-logo-text{-webkit-text-fill-color:#fff;background:none;color:#fff}.landing-footer-links{display:flex;gap:24px}.landing-footer-links a{color:#999;text-decoration:none;transition:color .2s}.landing-footer-links a:hover{color:#3498db}.landing-footer-copyright{font-size:.85rem}@media (max-width:768px){.landing-nav-content{padding:12px 16px}.landing-nav-actions{gap:8px}.landing-nav-actions .landing-btn{font-size:.85rem;padding:8px 12px}.landing-page .theme-toggle{font-size:.8rem;padding:6px 10px}.landing-hero-title{font-size:2.2rem}.landing-hero-subtitle{font-size:1rem}.landing-btn-lg{font-size:.95rem;padding:12px 20px}.landing-section-title{font-size:1.8rem}.landing-features-grid{gap:16px;grid-template-columns:1fr}.landing-feature-card{padding:20px}.landing-steps{gap:24px}.landing-step-connector{display:none}.landing-screenshot-gallery,.landing-use-cases-grid{grid-template-columns:1fr}.landing-cta h2{font-size:1.6rem}}@media (max-width:480px){.landing-nav-actions .landing-btn-secondary{display:none}.landing-hero-stats{gap:20px}.landing-stat-number{font-size:1.4rem}.landing-hero-title{font-size:1.8rem}.landing-footer-links{flex-direction:column;gap:12px}}@media (max-width:768px){.header{flex-direction:column;gap:10px;padding:12px 16px;text-align:center}.header h1{font-size:1.1rem}.header-right{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);width:100%}.header-right span{font-size:.85rem;grid-column:1/-1;text-align:center}.header-right .btn,.header-right .theme-toggle{font-size:.75rem;padding:8px 10px;white-space:nowrap}.header-right select{grid-column:1/-1;width:100%}.container{padding:10px}}@media (max-width:400px){.header-right{grid-template-columns:1fr}.header-right .btn,.header-right .theme-toggle{width:100%}}@media (max-width:768px){.card{padding:12px}table{min-width:0;min-width:auto;width:100%}table td,table th{word-wrap:break-word;font-size:.8rem;padding:8px 6px}table td:nth-child(n+4),table th:nth-child(n+4){display:none}.tabs{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.tab{font-size:.8rem;padding:10px 8px;text-align:center}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:10px}.admin-grid{gap:12px;grid-template-columns:1fr}.btn{font-size:.85rem;padding:8px 14px}.evaluation-card{padding:12px}.likert-scale{flex-direction:column;gap:8px}.likert-scale label{justify-content:flex-start}.phase-indicator{flex-wrap:wrap;gap:8px}.phase-badge{font-size:.8rem;padding:6px 10px}.progress-grid{overflow-x:visible}.heat-map{min-width:0;min-width:auto;width:100%}}@media (max-width:480px){.login-container,.register-container{margin:20px 16px;padding:16px}.login-container h1,.register-container h1{font-size:1.5rem}}@media (max-width:768px){.evaluation-section{margin-bottom:20px;padding-bottom:15px}.member-name{background:linear-gradient(135deg,#3498db1a,#3498db0d);border-left:3px solid #3498db;border-radius:8px;font-size:1.1rem;margin-bottom:12px;padding:10px 12px}body.dark-mode .member-name{background:linear-gradient(135deg,#3498db26,#3498db0d)}.criteria-item{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:12px}body.dark-mode .criteria-item{background:#1f1f1f}.criteria-label{display:block;font-size:.95rem;font-weight:600}.criteria-description{display:block;font-size:.8rem;margin-left:0;margin-top:4px}.likert-scale{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(5,1fr);padding:10px 0}.likert-option{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:12px 4px;transition:all .2s}body.dark-mode .likert-option{background:#2a2a2a;border-color:#444}.likert-option:has(input:checked){background:#3498db;border-color:#3498db}.likert-option:has(input:checked) span{color:#fff}.likert-option input[type=radio]{height:18px;margin-bottom:4px;width:18px}.likert-option span{font-size:.75rem;font-weight:600;text-align:center}.likert-labels{font-size:.7rem;margin-top:6px;padding:0 4px}.score-input{flex-wrap:wrap;gap:10px}.score-input input{border-radius:8px;font-size:1.1rem;padding:12px;text-align:center;width:80px}.evaluation-section textarea,.form-group textarea{border-radius:8px;font-size:16px;min-height:120px;padding:12px}.phase-tabs{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.phase-tab{align-items:center;border-radius:10px;display:flex;font-size:.9rem;font-weight:500;justify-content:center;min-height:50px;padding:14px 10px;text-align:center}.phase-tab.past-due{opacity:.7}}@media (max-width:480px){.likert-scale{gap:4px}.likert-option{min-height:45px;padding:10px 2px}.likert-option span{font-size:.65rem}.phase-tabs{grid-template-columns:1fr}.phase-tab{padding:12px}}@media (max-width:768px){.card table td .btn{display:block;margin-bottom:6px;margin-right:0!important;text-align:center;width:100%}.card table td .btn:last-child{margin-bottom:0}.card>div[style*="display: flex"][style*="justify-content: space-between"]{align-items:stretch!important;flex-direction:column!important;gap:12px!important}.card>div[style*="display: flex"][style*="justify-content: space-between"]>div[style*="display: flex"]{flex-wrap:wrap;justify-content:center}.report-student-card{padding:12px}.report-student-card h3,.report-student-card h4{font-size:1rem;margin-bottom:10px}.report-student-card h4 span{display:block;font-size:.85rem;margin-top:4px}.report-progress-bg{height:14px!important}.report-phase-header{font-size:1.1rem;margin-bottom:15px}.report-comment-border{margin-bottom:8px;padding-bottom:8px}div[style*=grid-template-columns]{grid-template-columns:1fr!important}.card table,select[style*=min-width],select[style*=minWidth]{min-width:0!important;min-width:auto!important;width:100%!important}.card table td,.card table th{font-size:.75rem!important;padding:6px 4px!important;word-break:break-word}.card div[style*="overflow-x: auto"],.card div[style*="overflowX: auto"]{overflow-x:visible!important}}@media (max-width:480px){.report-student-card{padding:10px}.report-student-card h3,.report-student-card h4{font-size:.95rem}select{min-width:0!important;min-width:auto!important;width:100%!important}.card table td,.card table th{font-size:.7rem!important;padding:4px 2px!important}div[style*="display: flex"][style*=gap]{flex-direction:column!important}.card button{width:100%}}.responsive-table{border-collapse:collapse;width:100%}.responsive-table td,.responsive-table th{border-bottom:1px solid #eee;padding:12px;text-align:left}body.dark-mode .responsive-table td,body.dark-mode .responsive-table th{border-bottom-color:#333}.responsive-table thead{background:#f8f9fa}body.dark-mode .responsive-table thead{background:#1a1a1a}@media (max-width:768px){.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table th,.responsive-table thead,.responsive-table tr{display:block}.responsive-table thead{display:none}.responsive-table tr{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:12px}body.dark-mode .responsive-table tr{background:#1f1f1f;border-color:#333}.responsive-table td{align-items:center;border-bottom:none;display:flex;gap:10px;justify-content:space-between;padding:8px 0}.responsive-table td:before{color:#666;content:attr(data-label);flex-shrink:0;font-size:.85rem;font-weight:600}body.dark-mode .responsive-table td:before{color:#a0a0a0}.responsive-table td:last-child{align-items:stretch;border-top:1px solid #e0e0e0;flex-direction:column;margin-top:8px;padding-top:12px}body.dark-mode .responsive-table td:last-child{border-top-color:#333}.responsive-table td:last-child:before{display:none}.responsive-table td .btn{margin-bottom:8px;text-align:center;width:100%}.responsive-table td .btn:last-child{margin-bottom:0}}.mobile-card-list{display:none}@media (max-width:768px){.desktop-table{display:none!important}.mobile-card-list,.mobile-nav-card{display:block}.mobile-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:14px}body.dark-mode .mobile-card{background:#1f1f1f;border-color:#333}.mobile-card-header{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:8px}body.dark-mode .mobile-card-header{color:#f0f0f0}.mobile-card-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:6px 0}.mobile-card-label{color:#666;font-size:.85rem}body.dark-mode .mobile-card-label{color:#a0a0a0}.mobile-card-value{font-weight:500}.mobile-card-actions{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}body.dark-mode .mobile-card-actions{border-top-color:#333}.mobile-card-actions .btn{text-align:center;width:100%}.card table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.card table tbody,.card table thead,.card table tr{display:table;table-layout:fixed;width:100%}.student-progress-table{font-size:.8rem}.student-progress-table td,.student-progress-table th{padding:8px 6px;white-space:nowrap}.student-progress-table td:first-child,.student-progress-table th:first-child{background:#fff;left:0;min-width:120px;position:-webkit-sticky;position:sticky;z-index:1}body.dark-mode .student-progress-table td:first-child,body.dark-mode .student-progress-table th:first-child{background:#1a1a1a}.card ul{margin:10px 0;padding-left:20px}.card ul li{font-size:.9rem;padding:6px 0}.card div[style*="textAlign: center"]{padding:12px!important}.card div[style*="textAlign: center"] p{font-size:1rem!important}}.assignment-header,.eval-type-row{transition:all .2s}@media (max-width:768px){.assignment-header{padding:12px 15px!important}.assignment-header h3{font-size:1rem!important}.assignment-status-badge{flex:1 1 100%;text-align:center!important}.eval-type-row{border-radius:10px!important;padding:14px!important}.eval-type-row>div:first-child{margin-bottom:8px;width:100%}.eval-type-row>div:last-child{justify-content:flex-end;width:100%}.card>div[style*=overflowX] table{font-size:.85rem}.card>div[style*=overflowX] td,.card>div[style*=overflowX] th{padding:10px 8px}}@media (max-width:480px){.assignment-header{padding:10px 12px!important}.assignment-header h3{font-size:.95rem!important}.eval-type-row{padding:12px!important}.eval-type-row>div:last-child{align-items:flex-start!important;flex-direction:column;gap:6px!important}}@media (max-width:768px){.container>div[style*="textAlign: center"]{padding:0 10px}.container>div[style*="textAlign: center"] .btn-success{border-radius:10px;bottom:20px;box-shadow:0 4px 15px #27ae6066;font-size:1.1rem!important;padding:16px 20px!important;position:-webkit-sticky;position:sticky;width:100%}.container>div[style*="textAlign: center"]>div[style*=marginBottom]{background:#f8f9fa;border-radius:6px;display:inline-block;padding:8px 12px}body.dark-mode .container>div[style*="textAlign: center"]>div[style*=marginBottom]{background:#1f1f1f}.mobile-sticky-save{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -4px 20px #0000001a;left:0;padding:12px 16px;position:fixed;right:0;z-index:100}body.dark-mode .mobile-sticky-save{background:#1a1a1a;border-top-color:#333}.mobile-sticky-save .btn{border-radius:8px;font-size:1rem;padding:14px;width:100%}.mobile-sticky-save .save-status{font-size:.8rem;margin-bottom:8px;text-align:center}.has-sticky-save{padding-bottom:100px}.btn{align-items:center;display:inline-flex;justify-content:center;min-height:44px}input[type=checkbox],input[type=radio]{min-height:20px;min-width:20px}.card a{display:inline-block;line-height:44px}.card a,select{min-height:44px}select{font-size:16px}input[type=email],input[type=number],input[type=password],input[type=text]{font-size:16px;min-height:44px}}.mobile-progress-bar{display:none}@media (max-width:768px){.mobile-progress-bar{background:#fff;border-bottom:1px solid #e0e0e0;display:block;padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}body.dark-mode .mobile-progress-bar{background:#1a1a1a;border-bottom-color:#333}.mobile-progress-bar-inner{background:#e0e0e0;border-radius:2px;height:4px;overflow:hidden}body.dark-mode .mobile-progress-bar-inner{background:#333}.mobile-progress-bar-fill{background:linear-gradient(90deg,#3498db,#27ae60);border-radius:2px;height:100%;transition:width .3s ease}.mobile-progress-text{color:#666;display:flex;font-size:.75rem;justify-content:space-between;margin-top:6px}body.dark-mode .mobile-progress-text{color:#999}.card{border-radius:12px;margin-bottom:16px}.card h2{font-size:1.15rem;margin-bottom:12px}.card h3{font-size:1rem}.card p{font-size:.9rem;line-height:1.5}}@media (max-width:768px){.card:has(h2:contains("Instructions")){background:linear-gradient(135deg,#f8f9fa,#fff);border-left:4px solid #3498db}body.dark-mode .card:has(h2:contains("Instructions")){background:linear-gradient(135deg,#1f1f1f,#1a1a1a)}}@media (max-width:768px){.card,.card>div,.card>table,.container,form{max-width:100%;overflow-x:hidden}.card>div:has(>table){-webkit-overflow-scrolling:touch;overflow-x:auto}code,pre{white-space:pre-wrap;word-break:break-word}}
/*# sourceMappingURL=main.bf2526df.css.map*/