.App{background-color:#f8fafc;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.App *{box-sizing:border-box}::-webkit-scrollbar{width:auto}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#0003}::-webkit-scrollbar-thumb:hover{background:#0000004d}body,html{background:#f8fafc}.app-main{position:relative;z-index:1}.app-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);box-shadow:0 2px 10px #0000001a;color:#fff;height:70px;left:0;padding:1rem 0;position:fixed;right:0;top:0;z-index:1000}.header-content{max-width:1400px;padding:0 2rem}.header-content h1{font-size:1.8rem;font-weight:700;margin:0}.user-info{align-items:center;display:flex;gap:1rem}.logout-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80}.sidebar-toggle{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;margin-right:1rem;min-height:40px;min-width:40px;padding:.5rem;transition:all .2s;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.sidebar-toggle:hover{background:#ffffff4d;border-color:#ffffff80}.sidebar-toggle:active{background:#fff6;transform:scale(.95)}.sidebar-toggle.active{background:#ffffff4d;border-color:#fff9}.sidebar-toggle.active:hover{background:#fff6;border-color:#fffc}.app-sidebar{background:#fff;box-shadow:2px 0 10px #0000001a;height:calc(100vh - 70px);left:0;overflow-y:auto;position:fixed;top:70px;transition:transform .3s ease;width:140px;z-index:999}.app-sidebar.closed{transform:translateX(-100%);visibility:hidden}.app-sidebar.open{transform:translateX(0);visibility:visible}.sidebar-backdrop{background-color:#00000080;bottom:0;cursor:pointer;display:none;left:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:998}@media (max-width:768px){.sidebar-backdrop{display:block}.app-sidebar{max-width:35vw;width:140px}.app-sidebar.closed{transform:translateX(-100%)}.app-sidebar.open{transform:translateX(0)}}.sidebar-navigation{padding:1rem 0}.sidebar-nav-item{align-items:center;display:flex;margin:.25rem .5rem}.sidebar-nav-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#374151;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:.25rem;justify-content:center;line-height:1.3;min-height:60px;padding:.75rem .5rem;text-align:center;transition:all .2s;width:100%}.sidebar-nav-button:hover{background:#f3f4f6;color:#1f2937}.sidebar-nav-button.active{background:#3b82f6;color:#fff;font-weight:600}.sidebar-nav-button.active:hover{background:#2563eb}.app-main{flex:1 1;margin-left:0;margin-top:70px;padding:2rem;transition:margin-left .3s ease}.app-main.with-sidebar{margin-left:140px}.app-main.without-sidebar{margin-left:0}.app-footer{background:#1f2937;color:#fff;margin-top:auto;padding:2rem 0}.app-loading,.auth-container{align-items:center;background:#f8fafc;display:flex;flex-direction:column;height:100vh;justify-content:center}.auth-container{gap:2rem}@media (max-width:1024px){.app-sidebar{width:140px}.app-main.with-sidebar{margin-left:140px}}@media (max-width:768px){.app-sidebar{transform:translateX(-100%);width:100%}.app-sidebar.open{transform:translateX(0)}.app-main.with-sidebar,.app-main.without-sidebar{margin-left:0;padding:1rem}.header-content{padding:0 1rem}.header-content h1{font-size:1.5rem}}@media (max-width:480px){.app-main{padding:1rem}.user-info{flex-direction:column;gap:.5rem}.sidebar-nav-button{font-size:.9rem;padding:.6rem .8rem}}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.rounded{border-radius:.375rem}.module-container,.shadow{box-shadow:0 1px 3px #0000001a}.module-container{background:#fff;border-radius:12px;margin-bottom:2rem;padding:2rem}.module-header{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.module-title{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.back-button{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;font-size:16px;margin-bottom:16px;padding:12px 24px}.back-button:hover{background-color:#e5e7eb;border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.back-button:active{box-shadow:0 1px 4px #0000001a;transform:translateY(0)}.page-header{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 4px 12px #0000001a;margin-bottom:24px}.page-header h1{font-size:24px}.module-header{background:linear-gradient(90deg,#10b981,#059669);border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#fff;padding:20px}.module-header h1{font-size:24px;font-weight:600;margin:0}.data-table{margin-top:1rem}.data-table td,.data-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.form-label{font-weight:500;margin-bottom:.5rem}.form-input{border:1px solid #d1d5db;font-size:.9rem;padding:.75rem}.btn{font-size:.9rem;padding:.75rem 1.5rem}.btn-success{background:#10b981}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444}.btn-danger:hover{background:#dc2626}.unified-calendar-system{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.calendar-loading{align-items:center;color:#666;display:flex;font-size:18px;height:400px;justify-content:center}.calendar-header{gap:20px;margin-bottom:30px}.calendar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:30px}.calendar-navigation{gap:20px}.nav-button{background:#4a90e2;border-radius:50%;color:#fff;font-size:20px;height:40px;justify-content:center;width:40px}.nav-button:hover{background:#357abd;transform:scale(1.05)}.calendar-title{color:#2c3e50;font-size:28px;font-weight:600;margin:0;text-align:center}.academic-year{color:#7f8c8d;display:block;font-size:14px;font-weight:400;margin-top:5px}.academic-year-selector{align-items:center;display:flex;gap:10px}.academic-year-selector label{color:#2c3e50;font-size:16px;font-weight:600}.year-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:16px;font-weight:500;min-width:140px;padding:8px 12px;transition:all .3s ease}.year-select:focus,.year-select:hover{border-color:#4a90e2}.year-select:focus{box-shadow:0 0 0 3px #4a90e21a;outline:none}.view-mode-selector{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.view-mode-checkbox{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.view-checkbox{display:none}.checkbox-label{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2c3e50;font-weight:500;padding:8px 12px;transition:all .3s ease;white-space:nowrap}.checkbox-label:hover{background:#f8f9ff;border-color:#4a90e2}.view-checkbox:checked+.checkbox-label{background:#4a90e2;border-color:#4a90e2;color:#fff}.color-indicator{border-radius:50%;box-shadow:0 1px 3px #0003;height:12px;width:12px}.view-checkbox:checked+.checkbox-label .color-indicator{border-color:#fffc}.calendar-grid{border-radius:8px;box-shadow:0 2px 8px #0000000d}.weekdays{background:#f8f9fa;border-bottom:2px solid #e9ecef;display:grid;grid-template-columns:repeat(7,1fr)}.weekday{color:#495057;font-size:14px;font-weight:600;padding:15px 8px;text-align:center}.calendar-days{grid-gap:1px;background:#e9ecef;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;display:flex;flex-direction:column;padding:8px;transition:all .2s ease}.calendar-day:hover{background:#f8f9fa;transform:translateY(-1px)}.calendar-day.empty{background:#f8f9fa;min-height:120px}.calendar-day.today{background:#e3f2fd;border:2px solid #2196f3}.calendar-day.weekend{background:#fafafa}.calendar-day.weekend .day-number{color:#f44336}.day-number{align-items:center;color:#2c3e50;display:flex;font-size:16px;justify-content:space-between;margin-bottom:4px}.cycle-day{background:#4a90e2;border-radius:8px;box-shadow:0 1px 3px #0003;color:#fff;font-size:10px;font-weight:700;line-height:1;min-width:16px;padding:2px 4px;position:absolute;right:2px;text-align:center;top:2px}.day-events{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow:hidden}.event{border:1px solid #fff3;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.event:hover{box-shadow:0 2px 4px #0003;filter:brightness(1.1);transform:translateY(-1px)}.event.holiday{background-color:#ff6b6b!important}.event.school_event{background-color:#4ecdc4!important}.event.eca_event{background-color:#45b7d1!important}.event.slp_event{background-color:#96ceb4!important}.calendar-legend{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-top:20px;padding:15px}.legend-item{color:#495057;font-size:14px;gap:8px}.legend-color{display:inline-block;height:16px;width:16px}@media (max-width:768px){.unified-calendar-system{padding:15px}.calendar-header{flex-direction:column;gap:15px}.calendar-title{font-size:24px}.view-mode-selector{gap:8px;justify-content:center;width:100%}.checkbox-label{font-size:12px;padding:6px 10px}.color-indicator{height:10px;width:10px}.calendar-day{min-height:80px;padding:6px}.day-number{font-size:14px}.event{font-size:10px;padding:1px 4px}.calendar-legend{gap:15px}.legend-item{font-size:13px}}@media (max-width:480px){.unified-calendar-system{padding:10px}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:12px}.cycle-day{font-size:8px;padding:1px 4px}.event{font-size:9px}.weekday{font-size:12px;padding:10px 4px}}.calendar-no-events{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:20px;text-align:center}.no-events-message{color:#6c757d}.no-events-message span{display:block;font-size:18px;font-weight:600;margin-bottom:10px}.no-events-message p{font-size:14px;margin:10px 0 20px}.navigate-to-events-btn{background:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.navigate-to-events-btn:hover{background:#357abd;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.calendar-events-summary{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:8px;color:#2e7d32;font-size:14px;font-weight:500;margin:20px 0;padding:15px 20px;text-align:center}.calendar-management{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.management-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:30px;padding:20px;text-align:center}.management-header h2{font-size:28px;font-weight:600;margin:0 0 10px}.management-header p{font-size:16px;margin:0;opacity:.9}.management-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px}.management-section{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:25px}.management-section h3{align-items:center;color:#2c3e50;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 20px}.export-section{border-left:4px solid #27ae60}.import-section{border-left:4px solid #3498db}.form-group label{color:#34495e}.form-file{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;cursor:pointer;padding:12px;transition:all .3s ease;width:100%}.form-file:hover{background:#ecf0f1;border-color:#3498db}.form-file:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-help{color:#7f8c8d;display:block;font-size:12px;line-height:1.4;margin-top:6px}.checkbox-label{color:#34495e;-webkit-user-select:none;user-select:none}.form-checkbox{accent-color:#3498db}.checkmark,.form-checkbox{height:18px;margin-right:10px;width:18px}.checkmark{border:2px solid #bdc3c7;border-radius:4px;display:inline-block;position:relative;transition:all .3s ease}.form-checkbox:checked+.checkmark{background-color:#3498db;border-color:#3498db}.form-checkbox:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.btn{display:flex;font-size:16px;gap:8px;padding:14px 20px;width:100%}.btn-export{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.btn-export:hover:not(:disabled){box-shadow:0 6px 20px #27ae604d;transform:translateY(-2px)}.btn-import{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-import:hover:not(:disabled){box-shadow:0 6px 20px #3498db4d;transform:translateY(-2px)}.message{animation:slideIn .3s ease;gap:12px;padding:16px 20px}.message-icon{font-size:18px}.message-text{flex:1 1}.preview-section{animation:slideIn .3s ease;background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:25px}.preview-header{border-bottom:2px solid #f39c12;margin-bottom:20px;padding-bottom:15px;text-align:center}.preview-header h3{color:#2c3e50;font-size:22px;font-weight:600;margin:0 0 8px}.preview-header p{color:#7f8c8d;font-size:14px;margin:0}.preview-content{grid-gap:25px;display:grid;gap:25px}.preview-summary{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;padding:20px}.preview-summary h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 15px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:6px;padding:10px 15px}.summary-label{color:#34495e}.summary-value{background:#d4edda;border-radius:4px;color:#27ae60;font-size:14px;font-weight:600;padding:4px 8px}.preview-actions{text-align:center}.action-buttons{margin-bottom:20px}.btn-confirm{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;min-width:200px}.btn-confirm:hover:not(:disabled){box-shadow:0 6px 20px #27ae604d;transform:translateY(-2px)}.btn-cancel{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;min-width:200px}.btn-cancel:hover:not(:disabled){box-shadow:0 6px 20px #e74c3c4d;transform:translateY(-2px)}.action-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:15px;text-align:left}.action-note p{color:#856404;font-size:14px;line-height:1.4;margin:5px 0}.action-note strong{color:#d63031}.data-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;overflow:hidden}.data-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:15px 20px}.data-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.view-toggle{background:#e9ecef;border-radius:6px;gap:5px;padding:3px}.toggle-btn{border-radius:4px;color:#6c757d}.toggle-btn.active{background:#3498db;box-shadow:0 2px 4px #3498db33}.toggle-btn:hover:not(.active){background:#dee2e6;color:#495057}.data-actions{display:flex;gap:10px}.json-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;padding:15px 20px}.json-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.json-actions{display:flex;gap:10px}.btn-edit{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;font-size:14px;min-width:auto;padding:8px 16px}.btn-edit:hover:not(:disabled){box-shadow:0 4px 15px #f39c124d;transform:translateY(-1px)}.edit-actions{display:flex;gap:8px}.btn-save{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-size:14px;min-width:auto;padding:8px 16px}.btn-save:hover:not(:disabled){box-shadow:0 4px 15px #27ae604d;transform:translateY(-1px)}.btn-cancel-edit{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:14px;min-width:auto;padding:8px 16px}.btn-cancel-edit:hover:not(:disabled){box-shadow:0 4px 15px #e74c3c4d;transform:translateY(-1px)}.json-display{background:#f8f9fa;max-height:500px;overflow-y:auto;padding:20px}.json-content{word-wrap:break-word;background:#2c3e50;border:1px solid #34495e;border-radius:6px;box-shadow:inset 0 1px 3px #0003;color:#ecf0f1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;margin:0}.json-edit{background:#f8f9fa;padding:20px}.json-textarea{background:#2c3e50;border:2px solid #3498db;border-radius:6px;color:#ecf0f1;min-height:400px;outline:none;padding:15px;resize:vertical;transition:border-color .3s ease}.json-textarea:focus{border-color:#2980b9;box-shadow:0 0 0 3px #3498db1a}.json-textarea::placeholder{color:#95a5a6}.edit-help{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-top:15px;padding:15px}.edit-help p{color:#856404;font-size:13px;line-height:1.4;margin:5px 0}.edit-help strong{color:#d63031}.form-display,.form-edit{background:#f8f9fa;padding:20px}.academic-year-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px}.academic-year-card h5{border-bottom:2px solid #3498db;color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.data-section-group{margin-bottom:25px}.data-section-group h5{background:#fff;border-left:4px solid #f39c12;border-radius:6px;color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 15px;padding:10px 15px}.cards-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.event-card{border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.event-card:hover{box-shadow:0 4px 12px #0000001f}.event-card.editable{background:#f8f9fa;border:2px solid #3498db}.event-header{align-items:center;border-bottom:1px solid #e9ecef;padding-bottom:10px}.event-title{color:#2c3e50;flex:1 1;font-size:16px;font-weight:600;margin:0}.event-type{background:#e9ecef;border-radius:4px;color:#495057;font-size:12px;font-weight:500;padding:4px 8px}.event-details{grid-gap:10px;display:grid;gap:10px}.detail-row{border-bottom:1px solid #f8f9fa;padding:8px 0}.detail-label{min-width:80px}.detail-value{color:#2c3e50;margin-left:15px;text-align:right}.priority-badge{border-radius:4px;text-transform:uppercase}.priority-low{background:#d4edda;color:#155724}.priority-medium{background:#fff3cd;color:#856404}.priority-high{background:#f8d7da;color:#721c24}.status-badge{border-radius:4px}.status-pending{background:#fff3cd;color:#856404}.status-confirmed{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.activity-card{border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.activity-card:hover{box-shadow:0 4px 12px #0000001f}.activity-card.editable{background:#f8f9fa;border:2px solid #3498db}.activity-header{align-items:center;border-bottom:1px solid #e9ecef;margin-bottom:15px;padding-bottom:10px}.activity-title{color:#2c3e50;flex:1 1;font-size:16px;margin:0}.activity-category{background:#e9ecef;border-radius:4px;color:#495057;font-size:12px;font-weight:500;padding:4px 8px}.category-card{border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 8px #00000014}.category-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.category-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.category-title{color:#2c3e50;flex:1 1;font-size:16px;font-weight:600;margin:0}.category-color{border:2px solid #e9ecef}.cycle-config-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px}.cycle-config-card h5{border-bottom:2px solid #f39c12;color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.edit-header{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.edit-header h5{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.form-row{display:flex;flex-direction:column;gap:5px}.form-row label{color:#34495e;font-size:14px;font-weight:500}.form-input{border:2px solid #e1e8ed}.form-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-textarea{border:2px solid #e1e8ed;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-select{border:2px solid #e1e8ed;border-radius:6px;padding:10px 12px;transition:all .3s ease}.form-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.event-title-input{color:#2c3e50;font-size:16px;font-weight:600}.event-type-select{min-width:120px}.activity-title-input{color:#2c3e50;font-size:16px;font-weight:600}.instructions{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:25px}.instructions h3{align-items:center;color:#2c3e50;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 20px}.instruction-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.instruction-item{background:#f8f9fa;border-left:4px solid #f39c12;border-radius:8px;padding:20px}.instruction-item h4{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 15px}.instruction-item ol,.instruction-item ul{color:#34495e;font-size:14px;line-height:1.6;margin:0;padding-left:20px}.instruction-item li{margin-bottom:6px}.instruction-item strong{color:#2c3e50}@media (max-width:768px){.calendar-management{padding:15px}.management-grid{gap:20px;grid-template-columns:1fr}.management-section{padding:20px}.instruction-grid{grid-template-columns:1fr}.management-header h2{font-size:24px}.btn{font-size:14px;padding:12px 16px}.preview-section{padding:20px}.action-buttons{align-items:center;flex-direction:column}.btn-cancel,.btn-confirm{max-width:300px;min-width:100%}.summary-grid{grid-template-columns:1fr}.json-header{align-items:stretch;flex-direction:column;gap:15px}.json-actions{justify-content:center}.edit-actions{align-items:center;flex-direction:column}.json-textarea{font-size:12px;min-height:300px}.data-header{align-items:stretch;flex-direction:column}.view-toggle{justify-content:center}.cards-grid{grid-template-columns:1fr}.activity-card,.category-card,.event-card{padding:15px}.form-row{margin-bottom:12px}}@media (max-width:480px){.calendar-management{padding:10px}.instructions,.management-section,.preview-section{padding:15px}.form-file,.form-select{font-size:14px;padding:10px 12px}}.calendar-settings{margin:0 auto;max-width:800px;padding:20px}.settings-container{border-radius:12px;box-shadow:0 4px 20px #0000001a}.settings-section{border-bottom:1px solid #e9ecef;padding:30px}.settings-section:last-child{border-bottom:none}.section-title{align-items:center;display:flex;gap:10px;margin-bottom:10px}.section-description{font-size:16px;line-height:1.5}.setting-option{margin-bottom:20px}.radio-option{align-items:flex-start;border:2px solid #e9ecef;border-radius:10px;gap:15px;padding:20px;transition:all .3s ease}.radio-option:hover{background-color:#f8f9fa;border-color:#4a90e2}.radio-option input[type=radio]{accent-color:#4a90e2;height:20px;margin-top:3px;width:20px}.radio-label{display:flex;flex:1 1;flex-direction:column;gap:8px}.radio-label strong{color:#2c3e50;font-size:18px}.option-description{color:#6c757d;line-height:1.4}.current-setting-display{background:#f8f9fa;padding:30px;text-align:center}.current-setting-display h3{color:#2c3e50;font-size:20px;margin-bottom:20px}.setting-badge{border-radius:25px;color:#fff;display:inline-block;font-size:16px;font-weight:600;margin-bottom:15px;padding:12px 24px}.setting-badge.normal-mode{background:linear-gradient(135deg,#28a745,#20c997)}.setting-badge.cycle-mode{background:linear-gradient(135deg,#4a90e2,#6f42c1)}.setting-explanation{color:#6c757d;font-size:16px;line-height:1.5;margin:0 auto;max-width:500px}.coming-soon{padding:20px;text-align:center}.coming-soon-badge{background:#ffc107;border-radius:20px;color:#212529;display:inline-block;font-size:14px;font-weight:600;margin-bottom:20px;padding:8px 16px}.coming-soon-features{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin:0;padding:0}.coming-soon-features li{background:#e9ecef;border-radius:8px;color:#6c757d;font-size:14px;padding:12px 16px;text-align:center}@media (max-width:768px){.calendar-settings{padding:15px}.settings-section{padding:20px}.section-title{font-size:20px}.radio-option{padding:15px}.coming-soon-features{grid-template-columns:1fr}}.calendar-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.calendar-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.tab-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:16px;padding:12px 24px}.tab-button:hover{background:#ffffff4d}.tab-button.active{background:#ffffffe6;box-shadow:0 4px 15px #0000001a;color:#2c3e50;font-weight:600}.page-header{text-align:center}.page-title{font-size:36px;font-weight:700;margin-bottom:10px;text-shadow:0 2px 4px #0000004d}.page-description{font-size:18px;margin:0;opacity:.9;text-shadow:0 1px 2px #0000004d}.calendar-info{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:40px auto 0;max-width:1200px}.info-section{background:#fff;box-shadow:0 4px 20px #0000001a;padding:25px}.info-section h3{border-bottom:2px solid #4a90e2;color:#2c3e50;font-size:20px;margin-bottom:15px;padding-bottom:8px}.info-section li{border-bottom:1px solid #f1f2f6;color:#555;line-height:1.5;padding:8px 0}.info-section li:last-child{border-bottom:none}.info-section strong{color:#2c3e50;font-weight:600}.cycle-info{margin-top:15px}.cycle-day-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:20px}.cycle-day-item{background:#f8f9fa;border-left:4px solid #4a90e2;border-radius:8px;padding:15px;text-align:center}.cycle-number{color:#4a90e2;display:block;font-size:16px;font-weight:600;margin-bottom:5px}.cycle-description{color:#6c757d;font-size:12px}.cycle-note{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;color:#6c757d;font-size:14px;font-style:italic;margin:0;padding:15px}.eca-categories{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.category-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:12px;transition:all .2s ease}.category-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.category-color{border-radius:50%;box-shadow:0 2px 4px #0003;display:inline-block;height:20px;width:20px}.category-item span:last-child{color:#2c3e50;font-weight:500}@media (max-width:768px){.calendar-page{padding:15px}.calendar-tabs{align-items:center;flex-direction:column;gap:8px}.tab-button{font-size:14px;max-width:300px;padding:10px 20px;width:100%}.page-title{font-size:28px}.page-description{font-size:16px}.calendar-info{gap:20px;margin-top:30px}.info-section{padding:20px}.info-section h3{font-size:18px}.cycle-day-list{gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.cycle-day-item{padding:10px}.eca-categories{grid-template-columns:1fr}}@media (max-width:480px){.calendar-page{padding:10px}.page-title{font-size:24px}.page-description{font-size:14px}.info-section{padding:15px}.cycle-day-list{grid-template-columns:repeat(2,1fr)}}.timetable-grid-container{background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a;margin-bottom:24px;padding:24px}.timetable-table{border:2px solid #374151;min-width:800px;table-layout:fixed}.timetable-table th{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #374151;color:#1f2937;font-size:14px;padding:12px 16px}.timetable-table td:first-child,.timetable-table th:first-child{width:8%}.timetable-table td:nth-child(2),.timetable-table td:nth-child(3),.timetable-table td:nth-child(4),.timetable-table td:nth-child(5),.timetable-table td:nth-child(6),.timetable-table td:nth-child(7),.timetable-table td:nth-child(8),.timetable-table th:nth-child(2),.timetable-table th:nth-child(3),.timetable-table th:nth-child(4),.timetable-table th:nth-child(5),.timetable-table th:nth-child(6),.timetable-table th:nth-child(7),.timetable-table th:nth-child(8){width:13.14%}.timetable-table td{border:2px solid #374151;height:120px;min-height:120px;padding:4px}.timetable-time-cell{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-right:3px solid #3b82f6;color:#1e293b;font-size:13px;font-weight:600;min-width:120px;padding:12px 8px;position:relative;text-align:center;white-space:nowrap}.timetable-time-cell:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);content:"";height:3px;left:0;position:absolute;right:0;top:0}.time-slot-container{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center}.timetable-time-cell .time-slot{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:14px;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 2px #0000001a}.period-info{align-items:center;width:100%}.period-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 4px #6366f14d;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;min-width:60px;padding:4px 8px;text-align:center;text-transform:uppercase}.period-number{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:50%;box-shadow:0 1px 2px #0000000d;color:#64748b;display:flex;font-size:10px;height:20px;justify-content:center;width:20px}.period-badge[data-period-type=homeroom]{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d}.period-badge[data-period-type=recess]{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b9814d}.period-badge[data-period-type=lunch]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.period-badge[data-period-type=period]{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 4px #6366f14d}.timetable-period-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 1px 2px #0000000d;font-size:10px;line-height:1.3;margin-top:4px;padding:4px 6px}.timetable-period-info div{font-weight:500;margin:1px 0}.timetable-period-info div:first-child{color:#3b82f6;font-weight:600}.timetable-period-info div:last-child{color:#6b7280}@media (max-width:768px){.timetable-time-cell{min-width:100px;padding:8px 4px}.timetable-time-cell .time-slot{font-size:12px}.period-badge{font-size:10px;min-width:50px;padding:3px 6px}.period-number{font-size:9px;height:18px;width:18px}.timetable-period-info{font-size:9px;padding:3px 4px}}.timetable-cell{background:#fff;border:1px solid #d1d5db;border-radius:6px;height:100%;overflow-x:hidden;overflow-y:auto;padding:4px;transition:all .2s ease}.timetable-admin-cell{background:linear-gradient(135deg,#fef2f2,#fff);border:1px solid #fca5a5}.timetable-elective-x1-cell{background:linear-gradient(135deg,#f3e8ff,#fff);border:1px solid #c4b5fd}.timetable-elective-x2-cell{background:linear-gradient(135deg,#fffbeb,#fff);border:1px solid #fcd34d}.timetable-cell:hover{box-shadow:0 2px 8px #0000001a}.timetable-cell::-webkit-scrollbar{width:4px}.timetable-cell::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.timetable-cell::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.timetable-cell::-webkit-scrollbar-thumb:hover{background:#94a3b8}.timetable-empty-cell{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;cursor:default;opacity:.3;position:relative}.timetable-empty-cell:before{background:repeating-linear-gradient(45deg,#0000,#0000 3px,#94a3b814 0,#94a3b814 6px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.timetable-empty-cell:after{color:#94a3b8;content:"Free Period";font-size:10px;font-weight:500;left:50%;opacity:.7;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.timetable-empty-cell:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:0 1px 3px #0000000d;opacity:.5}.timetable-empty-text{color:#94a3b8;font-size:11px;font-style:italic;opacity:0;padding:8px;text-align:center}.timetable-core-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:4px;color:#1e40af}.timetable-core-badge,.timetable-elective-badge{font-size:10px;font-weight:700;margin-bottom:4px;padding:2px 4px;text-align:center}.timetable-elective-badge{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:1px solid #c4b5fd;border-radius:4px;color:#7c3aed}.timetable-admin-badge{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #fca5a5;border-radius:4px;color:#dc2626}.timetable-admin-badge,.timetable-elective-x1-badge{font-size:10px;font-weight:700;margin-bottom:4px;padding:2px 4px;text-align:center}.timetable-elective-x1-badge{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:1px solid #c4b5fd;border-radius:4px;color:#7c3aed}.timetable-elective-x2-badge{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:4px;color:#d97706;font-size:10px;font-weight:700;margin-bottom:4px;padding:2px 4px;text-align:center}.timetable-subject-text{color:#1f2937;font-size:11px;font-weight:600;line-height:1.3;margin-bottom:2px}.timetable-classroom-text{color:#6b7280;font-size:10px;line-height:1.2}.timetable-teacher-text{color:#059669;font-size:10px;font-weight:500;line-height:1.2}.timetable-special-cell{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.timetable-special-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:4px;color:#92400e;font-size:10px;font-weight:700;margin-bottom:4px;padding:2px 4px;text-align:center}.timetable-break-cell{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #9ca3af}.timetable-break-text{color:#4b5563;font-size:12px;font-weight:600;text-align:center}.timetable-master-cell{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.timetable-master-text{color:#92400e;font-size:12px;font-weight:700;text-align:center}.timetable-elective-option{background:#fff;border:1px solid #d8b4fe;border-radius:4px;margin-bottom:2px;padding:2px 4px}.timetable-elective-option:last-child{margin-bottom:0}.timetable-explanation{background:linear-gradient(135deg,#fef3c7,#fed7aa);border:2px solid #f59e0b;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;margin-top:24px;padding:16px}.timetable-explanation h4{color:#92400e;font-size:16px;font-weight:700;margin-bottom:12px}.timetable-explanation-item{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px}.timetable-explanation-label{color:#92400e;flex-shrink:0;font-weight:700;min-width:0}.timetable-explanation-text{color:#92400e;line-height:1.4}.timetable-text-small .timetable-subject-text{font-size:9px}.timetable-text-small .timetable-classroom-text,.timetable-text-small .timetable-teacher-text{font-size:8px}.timetable-text-small .timetable-core-badge,.timetable-text-small .timetable-elective-badge,.timetable-text-small .timetable-special-badge{font-size:8px;padding:1px 3px}.timetable-text-normal .timetable-subject-text,.timetable-text-small .timetable-time-cell{font-size:11px}.timetable-text-normal .timetable-classroom-text,.timetable-text-normal .timetable-teacher-text{font-size:10px}.timetable-text-normal .timetable-core-badge,.timetable-text-normal .timetable-elective-badge,.timetable-text-normal .timetable-special-badge{font-size:10px;padding:2px 4px}.timetable-text-large .timetable-subject-text,.timetable-text-normal .timetable-time-cell{font-size:13px}.timetable-text-large .timetable-classroom-text,.timetable-text-large .timetable-teacher-text{font-size:12px}.timetable-text-large .timetable-core-badge,.timetable-text-large .timetable-elective-badge,.timetable-text-large .timetable-special-badge{font-size:12px;padding:3px 5px}.timetable-text-large .timetable-time-cell,.timetable-text-xlarge .timetable-subject-text{font-size:15px}.timetable-text-xlarge .timetable-classroom-text,.timetable-text-xlarge .timetable-teacher-text{font-size:14px}.timetable-text-xlarge .timetable-core-badge,.timetable-text-xlarge .timetable-elective-badge,.timetable-text-xlarge .timetable-special-badge{font-size:14px;padding:4px 6px}.timetable-text-xlarge .timetable-time-cell{font-size:17px}@media (max-width:768px){.timetable-table{min-width:600px}.timetable-table td,.timetable-table th{padding:8px 4px}.timetable-table td{height:90px;min-height:90px}.timetable-text-small .timetable-subject-text{font-size:8px}.timetable-text-small .timetable-classroom-text,.timetable-text-small .timetable-teacher-text{font-size:7px}.timetable-text-normal .timetable-subject-text{font-size:10px}.timetable-text-normal .timetable-classroom-text,.timetable-text-normal .timetable-teacher-text{font-size:9px}.timetable-text-large .timetable-subject-text{font-size:12px}.timetable-text-large .timetable-classroom-text,.timetable-text-large .timetable-teacher-text{font-size:11px}.timetable-text-xlarge .timetable-subject-text{font-size:14px}.timetable-text-xlarge .timetable-classroom-text,.timetable-text-xlarge .timetable-teacher-text{font-size:13px}}@media (max-width:480px){.timetable-table{min-width:500px}.timetable-table td,.timetable-table th{padding:4px 2px}.timetable-table td{height:75px;min-height:75px}.timetable-text-small .timetable-subject-text{font-size:7px}.timetable-text-small .timetable-classroom-text,.timetable-text-small .timetable-teacher-text{font-size:6px}.timetable-text-normal .timetable-subject-text{font-size:9px}.timetable-text-normal .timetable-classroom-text,.timetable-text-normal .timetable-teacher-text{font-size:8px}.timetable-text-large .timetable-subject-text{font-size:11px}.timetable-text-large .timetable-classroom-text,.timetable-text-large .timetable-teacher-text{font-size:10px}.timetable-text-xlarge .timetable-subject-text{font-size:13px}.timetable-text-xlarge .timetable-classroom-text,.timetable-text-xlarge .timetable-teacher-text{font-size:12px}}.timetable-view{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #fffc;border-radius:20px;box-shadow:0 20px 60px #0000001a;margin:16px 0;overflow:hidden;position:relative}.timetable-view:before{animation:cardGradient 6s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.timetable-header{padding:20px 24px}.timetable-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f8f9ff);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700;letter-spacing:-.025em;margin:0;text-shadow:0 2px 8px #0000001a}.close-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.close-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.close-btn:hover:before{left:100%}.close-btn:hover{background:#ffffff40;box-shadow:0 8px 25px #00000026}.timetable-content{padding:0}.timetable-loading{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;color:#64748b;margin:20px;padding:60px 20px;text-align:center}.timetable-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;box-shadow:0 4px 15px #3b82f633;height:48px;margin:0 auto 24px;width:48px}.timetable-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;border-radius:16px;color:#dc2626;margin:20px;overflow:hidden;padding:60px 20px;position:relative;text-align:center}.timetable-error:before{animation:cardGradient 3s ease infinite;background:linear-gradient(135deg,#dc2626,#ef4444,#f87171);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.timetable-error p{font-size:1.2rem;font-weight:600;margin:0 0 24px}.retry-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;box-shadow:0 4px 15px #3b82f64d;font-size:15px;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.retry-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.retry-btn:hover:before{left:100%}.retry-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-2px)}.timetable-empty{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:16px;color:#64748b;margin:20px;padding:60px 20px;text-align:center}.timetable-empty p{font-size:1.2rem;font-weight:500;margin:0}@media (max-width:768px){.timetable-header{padding:12px 16px}.timetable-header h3{font-size:1.1rem}.close-btn{font-size:16px;height:28px;width:28px}.timetable-empty,.timetable-error,.timetable-loading{padding:30px 16px}}.class-detail-page .timetable-view,.student-info-page .timetable-view,.teacher-detail-modal .timetable-view{border:1px solid #e1e5e9;margin:16px 0}.timetable-view .timetable-grid{border-radius:0;box-shadow:none;margin:0}.timetable-view .timetable-grid h2{display:none}.modal-content .timetable-view{max-height:80vh;overflow-y:auto}.modal-content .timetable-view .timetable-content{max-height:60vh;overflow-y:auto}.tab-content .timetable-view{margin:0}.timetable-view.compact{margin:8px 0}.timetable-view.compact .timetable-header{padding:12px 16px}.timetable-view.compact .timetable-header h3{font-size:1rem}.timetable-view.compact .timetable-content{padding:0}@media print{.timetable-view{border:1px solid #ccc;box-shadow:none}.timetable-header{background:#f8f9fa!important;color:#333!important}.close-btn{display:none}}.comprehensive-dashboard{background-color:#f8f9fa;min-height:100vh;padding:20px}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;padding:30px}.header-main h1{font-size:32px;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.header-stats{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:25px}.stat-card{background:#ffffff26;border-radius:15px}.stat-number{font-size:28px}.stat-label{opacity:.8}.dashboard-controls{border-radius:15px;box-shadow:0 4px 20px #00000014;gap:20px;margin-bottom:30px;padding:25px}.search-section{min-width:300px}.search-input{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:25px;padding:12px 20px}.filter-section{gap:15px}.department-filter,.sort-filter{background:#fff;border:2px solid #e1e8ed;border-radius:20px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.department-filter:focus,.sort-filter:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.classes-dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:30px}.dashboard-class-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.dashboard-class-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.dashboard-class-card:hover{border-color:#667eea;box-shadow:0 12px 40px #00000026;transform:translateY(-8px)}.dashboard-class-card:hover:before{transform:scaleX(1)}.card-header{border-bottom:2px solid #f1f3f4;padding-bottom:15px}.class-name{color:#2c3e50;font-size:20px}.class-id{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:500;padding:6px 15px}.card-stats{margin-bottom:20px}.stat-item{gap:10px}.stat-value{font-size:20px}.card-teachers{margin-bottom:25px}.teacher-row{align-items:center;gap:10px;padding:8px 0}.teacher-label{color:#7f8c8d;font-size:12px;font-weight:500;min-width:60px}.teacher-name{flex:1 1;font-size:14px}.teacher-dept{border-radius:10px;color:#95a5a6;font-size:11px;padding:2px 8px}.view-details-btn{border-radius:25px;padding:12px 24px}.view-details-btn:hover{box-shadow:0 6px 20px #667eea66}.class-detail-view{background-color:#f8f9fa;min-height:100vh;padding:20px}.detail-header{border-radius:20px;box-shadow:0 8px 32px #0000001a;gap:20px;margin-bottom:30px;padding:30px}.back-btn{padding:12px 24px}.detail-content{max-width:1200px}.detail-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.detail-card{border-radius:20px;box-shadow:0 4px 20px #00000014;padding:25px}.detail-card h3{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:20px}.stat-display{gap:10px}.stat-label{color:#7f8c8d}.teacher-info{gap:8px}.teacher-pos{color:#667eea}.primary-btn{border-radius:25px;font-weight:500;min-width:200px;padding:15px 30px;transition:all .3s ease}.primary-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.student-detail-view{background-color:#f8f9fa;min-height:100vh;padding:20px}.students-content{margin:0 auto;max-width:1200px}.students-header{align-items:center;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:25px;padding:25px}.students-header h3{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.student-actions{align-items:center;flex-wrap:wrap;gap:12px}.create-eca-btn:hover,.refresh-btn:hover{opacity:.9;transform:translateY(-1px);transition:all .2s ease}.students-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.student-card{box-shadow:0 2px 8px #00000014;overflow:hidden;padding:12px;position:relative}.student-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.student-avatar{background:linear-gradient(135deg,#8b5cf6,#a855f7);box-shadow:0 2px 8px #8b5cf64d;font-size:18px;height:45px;margin:0 auto 10px;width:45px}.student-info{text-align:center}.student-id{display:block;font-size:10px;letter-spacing:.5px;margin-bottom:3px}.student-name{display:block;font-weight:700;line-height:1.2;margin-bottom:6px}.student-code{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;color:#9ca3af;display:block;font-family:Courier New,monospace;font-size:9px;font-weight:500;margin-bottom:10px;padding:3px 6px}.student-ecas{border-top:1px solid #f3f4f6;margin-top:10px;padding-top:10px}.eca-label{color:#6b7280;font-size:9px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-align:center;text-transform:uppercase}.eca-tags{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.eca-tag{border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:help;font-size:8px;font-weight:600;max-width:60px;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.eca-tag:hover{box-shadow:0 4px 8px #00000026;transform:scale(1.05)}.eca-more{background:#f3f4f6;border:1px dashed #d1d5db;border-radius:12px;color:#6b7280;cursor:help;font-size:10px;font-weight:600;padding:4px 8px}.no-eca{background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;color:#9ca3af;display:inline-block;font-size:9px;font-style:italic;padding:3px 8px}.dashboard-loading,.student-loading{align-items:center;color:#7f8c8d;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{border:4px solid #e1e8ed}.dashboard-error,.student-error{color:#e74c3c;padding:60px 20px;text-align:center}.dashboard-error button,.student-error button{background:#e74c3c;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:14px;margin-top:20px;padding:12px 24px;transition:all .3s ease}.dashboard-error button:hover,.student-error button:hover{background:#c0392b;transform:translateY(-2px)}.no-results,.no-students{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;color:#7f8c8d;padding:60px 20px;text-align:center}.no-results button{background:#667eea;border-radius:20px;font-size:14px;margin-top:15px;padding:10px 20px;transition:all .3s ease}.no-results button:hover{background:#5a6fd8}.subject-overview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin:20px 0;padding:20px}.subject-overview h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 20px}.subjects-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:100%}.subject-card{border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 8px #0000001a}.subject-card:hover{border-color:#007bff;box-shadow:0 4px 16px #00000026}.subject-card h4{color:#2c3e50;font-size:1.2rem}.subject-card .teacher-count{color:#6c757d;font-size:1rem;font-weight:500}@media (max-width:768px){.comprehensive-dashboard{padding:15px}.dashboard-header{padding:20px}.header-main h1{font-size:24px}.header-stats{gap:15px;grid-template-columns:1fr}.dashboard-controls{align-items:stretch;flex-direction:column}.search-section{min-width:auto}.filter-section{justify-content:center}.classes-dashboard-grid{gap:20px;grid-template-columns:1fr}.dashboard-class-card{padding:20px}.class-name{font-size:20px}.students-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.subjects-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.subject-card{padding:16px}.subject-card h4{font-size:1.1rem}}@media (max-width:480px){.dashboard-header{padding:15px}.header-main h1{font-size:20px}.header-main p{font-size:14px}.dashboard-class-card{padding:15px}.card-header{align-items:flex-start;flex-direction:column;gap:10px}.students-grid{grid-template-columns:1fr}.subjects-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.subject-card{padding:14px}}.stats-container{grid-gap:20px;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:20px}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff3;box-shadow:0 4px 16px #00000026}.stat-card .stat-number{color:#1a365d;font-size:2.5rem;font-weight:700;margin:0 0 8px;text-shadow:0 1px 2px #0000001a}.stat-card .stat-label{color:#2d3748;font-size:.95rem}.action-buttons{grid-gap:12px;grid-template-columns:repeat(4,1fr);margin:20px 0}.action-btn{font-size:.85rem;min-height:75px;padding:18px 12px}.action-btn i{font-size:1.4rem;margin-bottom:6px}.action-btn:hover{box-shadow:0 6px 20px #0003}.action-btn:active{box-shadow:0 4px 12px #00000026}.action-btn.attendance{background:linear-gradient(135deg,#10b981,#059669)}.action-btn.payment{background:linear-gradient(135deg,#f59e0b,#d97706)}.action-btn.activities{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.action-btn.eca{background:linear-gradient(135deg,#ec4899,#db2777)}@media (max-width:768px){.action-buttons{gap:12px;grid-template-columns:repeat(2,1fr)}.action-btn{font-size:.8rem;min-height:70px;padding:16px 10px}.action-btn i{font-size:1.2rem;margin-bottom:5px}}@media (max-width:480px){.action-buttons{gap:10px;grid-template-columns:repeat(2,1fr)}.action-btn{font-size:.75rem;min-height:65px;padding:14px 8px}.action-btn i{font-size:1.1rem;margin-bottom:4px}}@media (max-width:768px){.student-card{padding:16px}.student-avatar{font-size:20px;height:50px;margin-bottom:12px;width:50px}.student-name{font-size:16px}.eca-tags{gap:4px}.eca-tag{font-size:9px;max-width:70px;padding:3px 6px}}.student-error,.student-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{border-top-color:#8b5cf6}.student-error button{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px;transition:background-color .2s ease}.student-error button:hover{background:#7c3aed}.eca-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:20px}.eca-summary-header h4{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px;text-align:center}.eca-summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));justify-items:center}.eca-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;min-width:100px;padding:12px;text-align:center;transition:transform .2s ease}.eca-stat:hover{transform:translateY(-2px)}.eca-stat .stat-number{color:#8b5cf6;display:block;font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.eca-stat .stat-label{color:#64748b;display:block;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.eca-summary{margin-bottom:20px;padding:16px}.eca-summary-stats{gap:12px;grid-template-columns:repeat(3,1fr)}.eca-stat{min-width:80px;padding:10px}.eca-stat .stat-number{font-size:20px}.eca-stat .stat-label{font-size:11px}.students-header{align-items:stretch;flex-direction:column;text-align:center}.student-actions{justify-content:center}.students-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.student-card{border-radius:10px;padding:10px}.student-avatar{font-size:16px;height:40px;margin-bottom:8px;width:40px}.student-name{font-size:13px;margin-bottom:4px}.student-id{font-size:9px;margin-bottom:2px}.student-code{font-size:8px;margin-bottom:8px;padding:2px 4px}.eca-label{font-size:8px;margin-bottom:4px}.eca-tags{gap:3px}.eca-tag{font-size:7px;max-width:50px;padding:2px 4px}.no-eca{font-size:8px;padding:2px 6px}.student-card{display:flex;flex-direction:column;justify-content:space-between;min-height:120px}.student-card:active{transform:scale(.98);transition:transform .1s ease}}@media (max-width:480px){.students-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.student-card{border-radius:8px;padding:8px}.student-avatar{font-size:14px;height:35px;margin-bottom:6px;width:35px}.student-name{font-size:12px;margin-bottom:3px}.student-id{font-size:8px;margin-bottom:2px}.student-code{font-size:7px;margin-bottom:6px;padding:1px 3px}.eca-label{font-size:7px;margin-bottom:3px}.eca-tags{gap:2px}.eca-tag{font-size:6px;max-width:40px;padding:1px 3px}.no-eca{font-size:7px;padding:1px 4px}.student-card{min-height:100px}}.class-detail-page{background-color:#f8f9fa;min-height:100vh;padding:0}.class-detail-header{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;display:flex;gap:20px;padding:20px}.back-btn{border:1px solid #ffffff4d}.back-btn:hover{transform:translateX(-5px)}.class-info h1{font-size:28px;font-weight:600;margin:0}.class-id{font-size:16px;margin:5px 0 0;opacity:.9}.class-tabs{background:#fff;border-bottom:1px solid #ecf0f1;display:flex;overflow-x:auto;padding:0 20px}.tab-btn{color:#7f8c8d}.tab-btn:hover{color:#3498db}.tab-btn.active{border-bottom-color:#3498db;color:#3498db}.class-content{margin:0 auto;max-width:1200px;padding:20px}.overview-section{margin-bottom:30px}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.overview-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.overview-card h3{color:#2c3e50;font-size:18px;margin-bottom:20px}.teacher-detail{display:flex;flex-direction:column;gap:8px}.teacher-name{color:#2c3e50;font-size:20px}.teacher-dept{background:#f8f9fa;border-radius:15px;color:#7f8c8d;display:inline-block;font-size:14px;padding:4px 12px}.teacher-pos{color:#3498db;font-size:14px;font-weight:500}.no-data{color:#95a5a6}.subjects-overview{gap:8px}.subject-item{background:#e8f4fd;border-radius:15px;color:#2980b9;font-size:12px;font-weight:500;padding:6px 12px}.student-count{color:#27ae60;display:block;font-size:36px;font-weight:700}.student-count+p{color:#7f8c8d;margin:5px 0 0}.timetable-section h3{color:#2c3e50;font-size:24px;margin-bottom:20px}.timetable-container{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.day-schedule{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px}.day-schedule h4{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:18px;margin-bottom:15px;padding-bottom:10px}.periods{display:flex;flex-direction:column;gap:8px}.period{grid-gap:15px;align-items:center;background:#f8f9fa;border-radius:8px;display:grid;gap:15px;grid-template-columns:80px 1fr 80px;padding:10px;transition:all .3s ease}.period:hover{background:#e8f4fd;transform:translateX(5px)}.period.break{background:#fff3cd;color:#856404}.period.break .subject{font-style:italic}.time{color:#7f8c8d;font-size:12px;font-weight:600}.subject{color:#2c3e50;font-weight:500}.teacher{color:#3498db;font-size:12px;text-align:right}.students-section h3{color:#2c3e50;font-size:24px;margin-bottom:20px}.students-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.student-card{box-shadow:0 2px 10px #0000001a}.student-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.student-avatar{background:linear-gradient(135deg,#3498db,#2980b9);font-size:20px;height:50px;margin:0 auto 15px;width:50px}.student-info{gap:5px}.student-id{color:#7f8c8d;font-size:12px;font-weight:500}.student-name{font-size:14px}.notices-section h3{color:#2c3e50;font-size:24px;margin-bottom:20px}.notices-list{display:flex;flex-direction:column;gap:15px}.notice-card{background:#fff;border-left:4px solid #3498db;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px}.notice-header{margin-bottom:15px}.notice-header h4{color:#2c3e50;font-size:18px;margin:0}.priority-badge{border-radius:15px;color:#fff;font-size:12px;padding:4px 12px}.notice-content{color:#34495e;line-height:1.6;margin-bottom:15px}.notice-date{color:#7f8c8d;font-size:12px}.academic-section h3{color:#2c3e50;font-size:24px;margin-bottom:20px}.academic-list{display:flex;flex-direction:column;gap:15px}.academic-card{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;gap:20px;padding:20px}.academic-icon{flex-shrink:0;font-size:24px}.academic-content{flex:1 1}.academic-content h4{color:#2c3e50;font-size:18px;margin:0 0 10px}.academic-content p{color:#34495e;line-height:1.6;margin-bottom:10px}.academic-date{color:#7f8c8d;font-size:12px}.loading-spinner{color:#7f8c8d}.spinner{border:4px solid #ecf0f1;border-top-color:#3498db;margin-bottom:20px}.class-detail-error{color:#e74c3c;padding:60px 20px;text-align:center}.class-detail-error button{background:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 20px}@media (max-width:768px){.class-detail-header{flex-direction:column;gap:15px;text-align:center}.class-info h1{font-size:24px}.class-tabs{padding:0 10px}.tab-btn{font-size:13px;padding:12px 15px}.overview-grid,.timetable-container{grid-template-columns:1fr}.students-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.period{gap:10px;grid-template-columns:70px 1fr}.teacher{display:none}}@media (max-width:480px){.class-content{padding:15px}.overview-card{padding:20px}.academic-card,.day-schedule,.notice-card{padding:15px}}.teacher-directory-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px}.teacher-directory-header h1{color:#333;font-size:24px;margin:0}.back-button{border-radius:4px}.view-navigation{display:flex;gap:10px}.nav-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px}.nav-button:hover{background:#e9ecef}.nav-button.active{background:#007bff;border-color:#007bff}.teacher-directory-view{padding:20px}.view-header h2{color:#333;margin-bottom:15px}.search-filters{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.search-input{min-width:250px}.department-filter,.search-input{border:1px solid #ddd;border-radius:4px}.department-filter{background:#fff;font-size:14px;padding:8px 12px}.teachers-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.teacher-card{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px;transition:transform .2s,box-shadow .2s}.teacher-card:hover{box-shadow:0 4px 8px #00000026}.teacher-avatar{margin-bottom:15px;text-align:center}.teacher-avatar img{object-fit:cover}.avatar-placeholder,.teacher-avatar img{border-radius:50%;height:60px;width:60px}.avatar-placeholder{align-items:center;background:#007bff;color:#fff;display:flex;font-size:24px;font-weight:700;justify-content:center;margin:0 auto}.teacher-info{text-align:center}.teacher-name{margin:0 0 6px}.teacher-department,.teacher-email,.teacher-subjects,.teacher-title{color:#666;font-size:12px;margin:3px 0}.teacher-status{margin-top:15px;text-align:center}.status-indicator{border-radius:20px;font-weight:500}.status-indicator.active{background:#d4edda;color:#155724}.status-indicator.inactive{background:#f8d7da;color:#721c24}.modal-content{box-shadow:0 4px 20px #0000004d;max-width:600px}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{color:#333}.close-button{color:#666;height:30px;width:30px}.close-button:hover{color:#333}.modal-body{padding:20px}.teacher-profile{align-items:flex-start;display:flex;gap:20px;margin-bottom:20px}.teacher-avatar-large{flex-shrink:0}.avatar-placeholder-large{align-items:center;background:#007bff;border-radius:50%;color:#fff;display:flex;font-size:48px;font-weight:700;height:120px;justify-content:center;width:120px}.teacher-details h3{color:#333;margin:0 0 10px}.teacher-details p{color:#666;margin:5px 0}.status-badge{margin-left:10px}.contact-info,.teacher-bio,.teacher-qualifications,.teaching-info{margin-bottom:20px}.contact-info h4,.teacher-bio h4,.teacher-qualifications h4,.teaching-info h4{border-bottom:1px solid #e0e0e0;color:#333;margin-bottom:10px;padding-bottom:5px}.classes-list{display:flex;flex-wrap:wrap;gap:10px}.class-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;gap:10px;padding:8px 12px}.class-grade{color:#666}.teacher-qualifications ul{margin:0;padding-left:20px}.teacher-qualifications li{color:#666;margin-bottom:5px}.committees-list,.duties-list,.ecas-list,.subjects-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.committee-tag,.duty-tag,.eca-tag,.subject-tag{background:#e3f2fd;border:1px solid #bbdefb;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:4px 8px}.eca-tag{background:#f3e5f5;border-color:#ce93d8;color:#7b1fa2}.committee-tag{background:#e8f5e8;border-color:#a5d6a7;color:#388e3c}.duty-tag{background:#fff3e0;border-color:#ffcc02;color:#f57c00}.teacher-committees,.teacher-duties,.teacher-ecas,.teacher-subjects{margin-bottom:20px}.teacher-committees h4,.teacher-duties h4,.teacher-ecas h4,.teacher-subjects h4{border-bottom:1px solid #e0e0e0;color:#333;margin-bottom:10px;padding-bottom:5px}.modal-footer{border-top:1px solid #e0e0e0;padding:20px;text-align:right}.btn{border-radius:4px;margin-left:10px}.classroom-management-view{padding:20px}.teacher-summary{margin-bottom:30px}.teacher-info-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.teacher-info-card h3{color:#333;margin:0 0 15px}.teacher-info-card p{color:#666;margin:8px 0}.classes-section h3{color:#333;margin-bottom:20px}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.class-card{border:2px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a}.class-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.class-card.selected{background:#f8f9ff;border-color:#007bff}.class-header h4{color:#333}.class-grade{background:#e9ecef;border-radius:4px;color:#495057;font-size:12px;padding:4px 8px}.class-details p{color:#666;font-size:14px;margin:8px 0}.class-status{margin-top:15px;text-align:right}.class-detail-section{margin-top:30px}.class-detail-section h3{color:#333;margin-bottom:20px}.class-detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.detail-row{gap:20px;margin-bottom:15px}.detail-item{flex:1 1}.detail-item.full-width{flex:100% 1}.detail-item label{color:#333;display:block;font-weight:500;margin-bottom:5px}.detail-item span{color:#666}.subject-teachers-view{padding:20px}.no-subjects{color:#666}.subjects-overview h3{color:#333;margin-bottom:20px}.subjects-grid{margin-bottom:30px}.subject-card{background:#fff;border:2px solid #0000;box-shadow:0 2px 4px #0000001a;transition:all .2s}.subject-card:hover{box-shadow:0 4px 8px #00000026}.subject-card.selected{background:#f8f9ff;border-color:#007bff}.subject-card h4{color:#333;margin:0 0 10px}.teacher-count{color:#666;margin:0}.subject-detail h3{color:#333;margin-bottom:20px}.teachers-list{gap:15px}.teacher-item{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;gap:20px;transition:transform .2s}.teacher-item:hover{box-shadow:0 4px 8px #00000026}.teacher-item .teacher-avatar{margin:0}.teacher-item .teacher-info{flex:1 1;text-align:left}.teacher-item .teacher-name{color:#333;font-size:16px;margin:0 0 8px}.teacher-item .teacher-department,.teacher-item .teacher-email,.teacher-item .teacher-position{color:#666;font-size:13px;margin:3px 0}.error,.loading,.no-results,.no-teacher-selected,.select-subject-prompt{color:#666;padding:40px;text-align:center}.error{color:#dc3545}@media (max-width:768px){.teacher-directory-header{align-items:stretch;flex-direction:column}.view-navigation{justify-content:center}.search-filters{align-items:stretch;flex-direction:column}.search-input{min-width:auto}.classes-grid,.teachers-grid{grid-template-columns:1fr}.subjects-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.detail-row{flex-direction:column;gap:10px}.teacher-item{flex-direction:column}.teacher-item,.teacher-item .teacher-info{text-align:center}.teachers-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.teacher-card{padding:12px}.avatar-placeholder,.teacher-avatar img{font-size:20px;height:50px;width:50px}.teacher-name{font-size:14px;margin-bottom:4px}.teacher-department,.teacher-email,.teacher-subjects,.teacher-title{font-size:11px;margin:2px 0}}@media (max-width:480px){.teachers-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.teacher-card{padding:10px}.avatar-placeholder,.teacher-avatar img{font-size:18px;height:45px;width:45px}.teacher-name{font-size:13px;margin-bottom:3px}.teacher-department,.teacher-email,.teacher-subjects,.teacher-title{font-size:10px;margin:1px 0}.teacher-card:active{transform:scale(.98);transition:transform .1s ease}}.roll-call-interface{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.roll-call-header{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.roll-call-title{flex:1 1;font-size:2rem;font-weight:700;margin:0;text-align:center}.class-info{text-align:right}.class-date{font-size:1rem;margin-bottom:5px;opacity:.9}.class-count{font-size:1.2rem;font-weight:600;opacity:.9}.view-mode-toggle{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.view-mode-toggle span{color:#495057;font-weight:600}.toggle-buttons{display:flex;gap:10px}.toggle-btn{background:#fff;border:2px solid #dee2e6;border-radius:6px;transition:all .2s ease}.toggle-btn.active{background:#007bff;border-color:#007bff;color:#fff}.toggle-btn:hover:not(.active){border-color:#007bff;color:#007bff}.attendance-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:30px}.summary-card{box-shadow:0 4px 6px #0000001a;color:#fff;padding:20px}.summary-card.present{background:linear-gradient(135deg,#28a745,#20c997)}.summary-card.absent{background:linear-gradient(135deg,#dc3545,#c82333)}.summary-card.late{background:linear-gradient(135deg,#fd7e14,#e55a00)}.summary-card.early-leave{background:linear-gradient(135deg,#6f42c1,#5a2d91)}.summary-card.out{background:linear-gradient(135deg,#17a2b8,#138496)}.summary-number{font-size:2rem;font-weight:700;margin-bottom:5px}.summary-label{font-size:.9rem;opacity:.9}.student-container{margin-bottom:30px}.student-container.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.student-container.list{display:flex;flex-direction:column;gap:15px}.student-container.list .student-card{flex-direction:row;padding:15px}.student-container.list .student-avatar{height:60px;margin-right:20px;width:60px}.student-container.list .student-info{flex:1 1}.student-container.list .attendance-controls{margin-left:auto}.student-card{box-shadow:0 4px 6px #0000001a;flex-direction:column;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.student-card:hover{box-shadow:0 8px 15px #00000026}.student-avatar{font-size:2rem;height:80px;margin-bottom:15px;position:relative;width:80px}.student-initial{z-index:1}.status-indicator{align-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;height:25px;justify-content:center;position:absolute;right:-5px;top:-5px;transition:all .2s ease;width:25px;z-index:2}.status-indicator:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.status-indicator:active{transform:scale(.95)}.student-info{margin-bottom:15px}.student-id{color:#6c757d;font-size:.8rem;margin-bottom:5px}.student-status{color:#007bff;font-size:.9rem;font-weight:600}.attendance-controls{width:100%}.status-select{background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.status-select:focus{border-color:#007bff;outline:none}.save-section{padding:20px;text-align:center}.save-button{background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px;box-shadow:0 4px 6px #0000001a;font-size:1.1rem;font-weight:600;padding:16px 32px}.save-button:hover:not(:disabled){box-shadow:0 8px 15px #0003;transform:translateY(-2px)}.save-button:disabled{opacity:.6}@media (max-width:768px){.roll-call-interface{padding:15px}.roll-call-header{flex-direction:column;gap:15px;text-align:center}.roll-call-title{font-size:1.5rem}.class-info{text-align:center}.view-mode-toggle{flex-direction:column;gap:10px}.attendance-summary{gap:10px;grid-template-columns:repeat(2,1fr)}.summary-card{padding:15px}.summary-number{font-size:1.5rem}.student-container.grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.student-card{padding:15px}.student-avatar{height:60px;width:60px}.student-name{font-size:1rem}}@media (max-width:480px){.roll-call-title{font-size:1.3rem}.attendance-summary,.student-container.grid{grid-template-columns:1fr}.student-container.list .student-card{flex-direction:column;text-align:center}.student-container.list .student-avatar{margin-bottom:15px;margin-right:0}.student-container.list .attendance-controls{margin-left:0;margin-top:15px}}@media (max-width:768px){.roll-call-interface{padding:15px}.roll-call-header{flex-direction:column;gap:15px;text-align:center}.roll-call-title{font-size:1.5rem}.class-info{text-align:center}.view-mode-toggle{flex-direction:column;gap:10px}.attendance-summary{gap:10px;grid-template-columns:repeat(2,1fr)}.summary-card{padding:15px}.summary-number{font-size:1.5rem}.student-container.grid{gap:12px;grid-template-columns:repeat(4,1fr)}.student-card{border-radius:10px;padding:12px}.student-avatar{font-size:1.5rem;height:50px;margin-bottom:10px;width:50px}.student-name{font-size:.9rem;margin-bottom:4px}.student-id{font-size:.7rem;margin-bottom:4px}.student-status{font-size:.8rem}.status-select{font-size:12px;padding:6px 8px}.status-indicator{font-size:.7rem;height:20px;right:-3px;top:-3px;width:20px}}@media (max-width:480px){.roll-call-title{font-size:1.3rem}.attendance-summary{grid-template-columns:1fr}.student-container.grid{gap:8px;grid-template-columns:repeat(4,1fr)}.student-card{border-radius:8px;padding:8px}.student-avatar{font-size:1.2rem;height:40px;margin-bottom:8px;width:40px}.student-name{font-size:.8rem;margin-bottom:3px}.student-id{font-size:.6rem;margin-bottom:3px}.student-status{font-size:.7rem}.status-select{font-size:11px;padding:4px 6px}.status-indicator{font-size:.6rem;height:18px;right:-2px;top:-2px;width:18px}.student-container.list .student-card{flex-direction:column;text-align:center}.student-container.list .student-avatar{margin-bottom:15px;margin-right:0}.student-container.list .attendance-controls{margin-left:0;margin-top:15px}}@media (max-width:360px){.student-container.grid{gap:6px;grid-template-columns:repeat(3,1fr)}.student-card{padding:6px}.student-avatar{font-size:1rem;height:35px;width:35px}.student-name{font-size:.7rem}.student-id{font-size:.5rem}.status-select{font-size:10px;padding:3px 4px}}.attendance-summary-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.summary-header{align-items:center;background:linear-gradient(135deg,#6f42c1,#5a2d91);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.summary-title{flex:1 1;font-size:2rem;font-weight:700;margin:0;text-align:center}.summary-info{text-align:right}.class-name{margin-bottom:5px}.summary-date{font-size:1rem;opacity:.9}.summary-stats{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-card.total{background:linear-gradient(135deg,#495057,#343a40)}.stat-card.present{background:linear-gradient(135deg,#28a745,#20c997)}.stat-card.absent{background:linear-gradient(135deg,#dc3545,#c82333)}.stat-card.late{background:linear-gradient(135deg,#fd7e14,#e55a00)}.stat-card.early-leave{background:linear-gradient(135deg,#6f42c1,#5a2d91)}.stat-card.out{background:linear-gradient(135deg,#17a2b8,#138496)}.view-controls{align-items:center;background:#f8f9fa;border-radius:8px;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.view-tabs{display:flex;gap:10px}.view-tab{background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.view-tab.active{background:#6f42c1;border-color:#6f42c1;color:#fff}.view-tab:hover:not(.active){border-color:#6f42c1;color:#6f42c1}.filter-controls{gap:10px}.status-filter{background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.status-filter:focus{border-color:#6f42c1;outline:none}.export-button{background:linear-gradient(135deg,#28a745,#20c997);border-radius:6px;padding:8px 16px;transition:all .2s ease}.export-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.records-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;overflow:hidden}.records-table{border-collapse:collapse;font-size:14px;width:100%}.records-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:16px 12px;text-align:left}.records-table td{border-bottom:1px solid #f1f3f4;color:#495057;padding:16px 12px}.records-table tr:hover{background:#f8f9fa}.student-code{color:#6c757d;font-family:monospace}.status-badge{font-size:.8rem;padding:4px 8px}.attendance-time{color:#6c757d;font-family:monospace}.attendance-notes{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-type{color:#6c757d;font-size:.9rem}.no-records{color:#6c757d;padding:40px}.summary-footer{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px}.footer-stats{color:#6c757d;display:flex;font-size:14px;gap:20px}.footer-actions{gap:10px}.print-button{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.print-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-1px)}@media print{.back-button,.export-button,.print-button,.view-controls{display:none!important}.attendance-summary-page{padding:0}.summary-header{background:#6f42c1!important}.stat-card,.status-badge,.summary-header{color-adjust:exact;-webkit-print-color-adjust:exact}}@media (max-width:768px){.attendance-summary-page{padding:15px}.summary-header{flex-direction:column;gap:15px;text-align:center}.summary-title{font-size:1.5rem}.summary-info{text-align:center}.summary-stats{gap:10px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:15px}.stat-number{font-size:1.5rem}.view-controls{align-items:stretch;flex-direction:column}.filter-controls,.view-tabs{justify-content:center}.records-table{font-size:12px}.records-table td,.records-table th{padding:12px 8px}.summary-footer{flex-direction:column;text-align:center}.footer-stats{justify-content:center}}@media (max-width:480px){.summary-title{font-size:1.3rem}.summary-stats{grid-template-columns:1fr}.view-tabs{flex-direction:column;width:100%}.view-tab{text-align:center;width:100%}.filter-controls{flex-direction:column;width:100%}.export-button,.status-filter{width:100%}.records-table{font-size:11px}.records-table td,.records-table th{padding:8px 4px}.attendance-notes{max-width:100px}}.type-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.type-badge.regular{background:linear-gradient(135deg,#28a745,#20c997)}.type-badge.eca{background:linear-gradient(135deg,#007bff,#0056b3)}.type-badge.slp{background:linear-gradient(135deg,#6f42c1,#5a2d91)}.view-tab{font-weight:500;min-width:140px;text-align:center}.view-tab.active{box-shadow:0 2px 4px #6f42c14d}.view-tab:hover:not(.active){transform:translateY(-1px)}.student-info{min-width:200px}.student-id-name{align-items:center;display:flex;flex-direction:row;gap:8px}.student-id{background:#007bff1a;border-radius:4px;color:#007bff;display:inline-block;font-family:Courier New,monospace;font-size:.9rem;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.student-name{color:#2c3e50;font-size:1rem}@media (max-width:768px){.student-info{min-width:150px}.student-id-name{gap:6px}.student-id{font-size:.8rem;padding:1px 4px}.student-name{font-size:.9rem}}@media (max-width:480px){.student-info{min-width:120px}.student-id-name{gap:4px}.student-id{font-size:.7rem;padding:1px 3px}.student-name{font-size:.8rem}}.attendance-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.navigation{margin-bottom:20px}.back-button{background:#f8f9fa;border:1px solid #dee2e6}.back-button:hover{background:#e9ecef;border-color:#adb5bd}.title-section{margin-bottom:30px;text-align:center}.main-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 10px}.subtitle{color:#6c757d;font-size:1.1rem;line-height:1.5}.date-time-selector{align-items:center;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:30px}.date-selector,.time-selector{align-items:center;display:flex;gap:10px}.date-selector label,.time-selector label{color:#495057;font-weight:600}.date-selector input,.time-selector input{border:2px solid #dee2e6;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.date-selector input:focus,.time-selector input:focus{border-color:#007bff;outline:none}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{box-shadow:0 4px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 15px #00000026}.stat-card.green{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.stat-card.blue{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.stat-card.orange{background:linear-gradient(135deg,#fd7e14,#e55a00);color:#fff}.stat-card.red{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.stat-icon{margin-right:16px;opacity:.9}.stat-number{margin-bottom:4px}.stat-label{font-size:.9rem}.table-section{margin-bottom:40px}.section-title{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:20px;text-align:center}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.attendance-table{border-collapse:collapse;font-size:14px;width:100%}.attendance-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:16px 12px;text-align:left}.attendance-table td{border-bottom:1px solid #f1f3f4;color:#495057;padding:16px 12px}.attendance-table tr:hover{background:#f8f9fa}.attendance-table .present{color:#28a745;font-weight:600}.attendance-table .absent{color:#dc3545;font-weight:600}.attendance-table .late{color:#fd7e14;font-weight:600}.attendance-table .early-leave{color:#6f42c1;font-weight:600}.attendance-table .status{color:#007bff;cursor:pointer;font-weight:600}.attendance-table .status:hover{color:#0056b3}.quick-operations{margin-bottom:40px}.operation-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.operation-card{background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:transform .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.operation-card:before{background:#0000000d;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.operation-card:hover:before{opacity:1}.operation-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.operation-card:active{box-shadow:0 4px 6px #0000001a;transform:translateY(0)}.operation-card.green{border-left-color:#28a745}.operation-card.blue{border-left-color:#007bff}.operation-card.orange{border-left-color:#fd7e14}.operation-icon{font-size:2.5rem;margin-bottom:16px;opacity:.8}.operation-content h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 8px}.operation-content p{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0}.view-summary-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.view-summary-btn:hover{box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.class-selector-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{border-radius:12px;box-shadow:0 10px 25px #0003;padding:30px;text-align:center}.modal-content h2{color:#2c3e50;font-size:1.5rem;margin-bottom:10px}.modal-content p{color:#6c757d;margin-bottom:20px}.class-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:25px}.class-option{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:15px 10px;transition:all .2s ease}.class-option:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.cancel-button{background:#6c757d;color:#fff;font-size:14px}.cancel-button:hover{background:#5a6268;transform:translateY(-1px)}@media (max-width:768px){.attendance-page{padding:15px}.main-title{font-size:2rem}.stats-cards{gap:15px;grid-template-columns:1fr}.stat-card{padding:20px}.operation-cards{gap:15px;grid-template-columns:1fr}.attendance-table{font-size:12px}.attendance-table td,.attendance-table th{padding:12px 8px}.date-time-selector{flex-direction:column;gap:15px}.date-selector,.time-selector{flex-direction:column;gap:8px;text-align:center}}@media (max-width:480px){.main-title{font-size:1.8rem}.subtitle{font-size:1rem}.date-selector{flex-direction:column;gap:8px}.stat-card{padding:16px}.stat-number{font-size:1.5rem}.operation-card{padding:20px}}@media (max-width:768px){.modal-content{margin:20px;padding:20px}.class-list{gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.class-option{font-size:13px;padding:12px 8px}}.slp-management-page{background:#f8fafc;min-height:100vh;padding:0}.page-header{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 20px #0000001a;padding:20px 24px}.page-header h1{flex:1 1;font-size:1.75rem;text-align:center}.back-button,.refresh-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.back-button:hover,.refresh-button:hover{background:#ffffff4d;transform:translateY(-1px)}.slp-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin:24px 24px 0;padding-bottom:0}.tab-btn.active{background:#fffbeb;border-bottom-color:#f59e0b;color:#f59e0b}.page-content{padding:24px}.error-container,.loading-container{padding:60px 24px}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#f59e0b}.error-icon{margin-bottom:16px}.error-container h3{color:#ef4444;margin-bottom:8px}.retry-button{background:#f59e0b;font-weight:500;margin-top:16px}.overview-section{gap:32px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-card{gap:16px;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px)}.card-icon{background:#fffbeb;border-radius:12px}.card-content h3{font-size:14px;font-weight:500}.card-value{font-size:28px;margin:0}.recent-activities h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.activities-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.activity-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:20px;transition:all .2s ease}.activity-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.activity-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.activity-header h4{color:#1f2937;flex:1 1;font-size:1.125rem;font-weight:600;margin:0}.activity-type-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.activity-details p{color:#6b7280;font-size:14px;margin:4px 0}.activity-details strong{color:#374151;font-weight:600}.activity-description{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.activity-description p{font-size:14px}.recent-achievements h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.achievement-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:20px;transition:all .2s ease}.achievement-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.achievement-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.achievement-header h4{color:#1f2937;flex:1 1;font-size:1.125rem;font-weight:600;margin:0}.achievement-level-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.achievement-details p{color:#6b7280;font-size:14px;margin:4px 0}.achievement-details strong{color:#374151;font-weight:600}.achievement-description{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.achievement-description p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.quick-actions h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.action-btn{background:#f59e0b;padding:12px 24px}.action-btn:hover{background:#d97706}.action-btn.small{font-size:12px;padding:6px 12px}.action-btn.danger{background:#ef4444}.action-btn.danger:hover{background:#dc2626}.activities-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.section-header{border-bottom:2px solid #e5e7eb;padding-bottom:16px}.activities-table{overflow-x:auto}.activities-table table{border-collapse:collapse;font-size:14px;width:100%}.activities-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.activities-table td{border-bottom:1px solid #e5e7eb;padding:16px;vertical-align:top}.activities-table tr:hover{background:#f8fafc}.activity-title strong{color:#1f2937;font-size:16px;font-weight:600}.activity-description{color:#6b7280;font-size:12px;line-height:1.4;margin:4px 0 0}.student-info{align-items:center;gap:12px}.student-avatar{background:#f59e0b;font-size:14px;height:32px;width:32px}.achievements-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.achievements-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:24px}.achievements-table{overflow-x:auto}.achievements-table table{border-collapse:collapse;font-size:14px;width:100%}.achievements-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.achievements-table td{border-bottom:1px solid #e5e7eb;padding:16px;vertical-align:top}.achievements-table tr:hover{background:#f8fafc}.achievement-title strong{color:#1f2937;font-size:16px;font-weight:600}.achievement-description{color:#6b7280;font-size:12px;line-height:1.4;margin:4px 0 0}.statistics-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px}.statistics-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:24px}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.stats-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.stats-card h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:16px}.stats-content{display:flex;flex-direction:column;gap:12px}.stats-content .stat-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.stats-content .stat-item:last-child{border-bottom:none}.stat-value{font-size:16px}.category-stats-list,.class-stats-list{display:flex;flex-direction:column;gap:12px}.category-stat-item,.class-stat-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.category-name,.class-name{color:#1f2937;font-size:14px;font-weight:600}.category-stats,.class-stats{align-items:center;display:flex;gap:12px}.category-stats .stat,.class-stats .stat{color:#6b7280;font-size:12px}@media (max-width:768px){.page-header{padding:16px 20px}.page-header h1{font-size:1.5rem}.slp-tabs{flex-wrap:wrap;margin:16px 16px 0}.tab-btn{font-size:13px;padding:10px 16px}.page-content{padding:16px}.achievements-grid,.activities-grid,.summary-cards{grid-template-columns:1fr}.action-buttons,.section-header{flex-direction:column}.section-header{align-items:stretch;gap:12px}.achievements-table,.activities-table{font-size:12px}.achievements-table td,.achievements-table th,.activities-table td,.activities-table th{padding:8px 12px}.stats-grid{grid-template-columns:1fr}.category-stat-item,.class-stat-item{align-items:stretch;flex-direction:column;gap:8px}.category-stats,.class-stats{justify-content:center}}.box-plot-analysis{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:20px}.analysis-header{border-bottom:2px solid #e5e7eb;margin-bottom:30px;padding-bottom:20px;text-align:center}.analysis-header h2{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:8px}.view-selector{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.view-selector button{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:left;transition:all .3s ease}.view-selector button:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 8px 25px -8px #0000001a;transform:translateY(-2px)}.view-selector button.active{background:#eef2ff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.option-name{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:8px}.option-description{color:#6b7280;font-size:14px;line-height:1.5}.analysis-content{margin-bottom:30px}.class-comparison h3,.individual-subjects h3,.subject-overview h3{color:#1f2937;font-size:24px;font-weight:600;margin-bottom:12px}.description{margin-bottom:24px}.box-plots-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.box-plot-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;position:relative;text-align:center;transition:all .3s ease}.box-plot-item:hover{border-color:#4f46e5;box-shadow:0 8px 25px -8px #4f46e533;transform:translateY(-2px)}.subject-info h4{color:#1f2937;font-size:18px;font-weight:600;margin:16px 0 8px}.subject-info p{color:#6b7280;font-size:14px;margin:4px 0}.hover-details{background:#1f2937;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;font-size:12px;padding:12px 16px;top:100%;white-space:nowrap;z-index:10}.hover-details,.hover-details:before{left:50%;position:absolute;transform:translateX(-50%)}.hover-details:before{border-bottom:6px solid #1f2937;border-left:6px solid #0000;border-right:6px solid #0000;content:"";top:-6px}.box-plot-container{align-items:center;display:flex;flex-direction:column;gap:16px}.box-plot-svg{background:#fff;border:1px solid #e5e7eb;border-radius:8px}.box-plot-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);max-width:200px;width:100%}.stat-item{border-radius:6px;font-size:12px;justify-content:space-between;padding:4px 8px}.class-box-plots{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.class-box-plot{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center}.class-box-plot h4{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:20px}.comparison-insights{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.comparison-insights h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:16px}.comparison-insights ul{list-style:none;padding:0}.comparison-insights li{color:#4b5563;font-size:14px;line-height:1.6;margin-bottom:8px;padding-left:20px;position:relative}.comparison-insights li:before{color:#4f46e5;content:"•";font-weight:700;left:0;position:absolute}.subject-detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.subject-detail-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center}.subject-detail-item h4{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:20px}.subject-analysis{margin-top:20px}.performance-indicators{display:flex;flex-direction:column;gap:12px}.indicator{align-items:center;background:#f9fafb;border-left:4px solid #4f46e5;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.indicator-label{color:#374151;font-size:14px;font-weight:500}.indicator-value{color:#1f2937;font-size:14px;font-weight:600}.box-plot-legend{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:30px;padding:24px}.box-plot-legend h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.mean-color{background:#ef4444}.whisker-color{background:#666}.vertical-box-plot-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.vertical-box-plot{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-around;min-height:280px}.vertical-box-plot-item{align-items:center;display:flex;flex-direction:column;gap:12px;min-width:160px}.box-plot-stats-vertical{display:flex;flex-direction:column;gap:4px;max-width:160px;width:100%}.stat-item-vertical{align-items:center;background:#f1f5f9;border-radius:6px;display:flex;font-size:12px;justify-content:space-between;padding:4px 8px}.stat-item-vertical .stat-label{color:#475569;font-weight:600}.stat-item-vertical .stat-value{color:#1e293b;font-weight:700}.horizontal-box-plot-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.horizontal-box-plot{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-around}.horizontal-box-plot-item{align-items:center;display:flex;flex-direction:column;gap:12px;min-width:140px}.box-plot-label{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:8px;text-align:center}.horizontal-box-plot-svg{background:#fff;border:1px solid #e5e7eb;border-radius:8px}.box-plot-stats-horizontal{display:flex;flex-direction:column;gap:4px;max-width:120px;width:100%}.stat-item-horizontal{align-items:center;background:#f9fafb;border-radius:4px;display:flex;font-size:10px;justify-content:space-between;padding:2px 6px}.subject-selector-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin:20px 0;padding:20px}.subject-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.subject-selector-header h4{color:#1f2937;font-size:18px;font-weight:600;margin:0}.toggle-all-button{border-radius:6px}.subject-checkboxes{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.subject-checkbox{background:#f9fafb}.view-toggle{gap:12px;justify-content:center;margin:20px 0}.toggle-button{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.toggle-button:hover{background:#e5e7eb;border-color:#d1d5db}.toggle-button.active{background:#eef2ff;border-color:#4f46e5;color:#4f46e5}@media (max-width:768px){.box-plot-analysis{padding:16px}.box-plots-grid,.class-box-plots,.legend-items,.subject-detail-grid,.view-selector{grid-template-columns:1fr}.horizontal-box-plot{flex-direction:column;gap:30px}.horizontal-box-plot-item{min-width:200px}.view-toggle{align-items:center;flex-direction:column}.subject-selector-header{flex-direction:column;gap:12px;text-align:center}.subject-checkboxes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.analysis-header h2{font-size:24px}.class-comparison h3,.individual-subjects h3,.subject-overview h3{font-size:20px}}@media (max-width:480px){.box-plot-container{gap:12px}.box-plot-stats{grid-template-columns:1fr;max-width:150px}.indicator{flex-direction:column;gap:4px;text-align:center}}.standardized-comparison{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:24px}.comparison-controls{grid-gap:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.subject-selector{display:flex;flex-direction:column;gap:12px}.toggle-all-button{align-self:flex-start;background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.toggle-all-button:hover{background:#3730a3;transform:translateY(-1px)}.subject-checkboxes{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.subject-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.subject-checkbox:hover{background:#f3f4f6;border-color:#d1d5db}.subject-checkbox input[type=checkbox]{accent-color:#4f46e5;height:16px;width:16px}.subject-color-indicator{border:2px solid #fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;height:16px;width:16px}.subject-name{color:#374151}.subject-label{font-size:14px}.no-data{border:1px dashed #d1d5db;border-radius:8px;padding:40px 20px}@media (max-width:1024px){.comparison-controls{grid-template-columns:1fr}.subject-row{gap:12px;grid-template-columns:100px 1fr 180px}.subject-stats{grid-template-columns:1fr}}@media (max-width:768px){.standardized-comparison{padding:16px}.comparison-header h2{font-size:24px}.subject-row{gap:12px;grid-template-columns:1fr;text-align:center}.subject-label{flex-direction:row;gap:8px;justify-content:center}.box-plot-wrapper{order:2}.subject-stats{grid-template-columns:repeat(2,1fr);order:3}.legend-items{grid-template-columns:1fr}.subject-checkboxes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width:480px){.comparison-controls{padding:16px}.subject-stats{grid-template-columns:1fr}.stat-item{flex-direction:column;gap:2px;text-align:center}.standardized-box-plot-svg{max-width:350px;width:100%}}.class-comparison-standardized{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:24px}.comparison-header{border-bottom:2px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px;text-align:center}.comparison-header h2{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:8px}.class-info{font-weight:500;margin-bottom:8px}.class-info,.description{color:#6b7280;font-size:16px}.description{line-height:1.6;margin:0 auto;max-width:600px}.comparison-mode-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:24px}.comparison-mode-selector h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.mode-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mode-button{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:16px;text-align:left;transition:all .3s ease}.mode-button:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.mode-button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.mode-button.active .mode-description{color:#e0e7ff}.mode-name{font-size:16px;font-weight:600;margin-bottom:4px}.mode-description{color:#6b7280;font-size:14px}.comparison-controls{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:24px;margin-bottom:32px;padding:24px}.controls-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.controls-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.control-buttons{display:flex;gap:12px}.reset-button{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .3s ease}.reset-button:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.quick-select-button{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .3s ease}.quick-select-button:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.control-group{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:20px}.control-group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.control-group h4{color:#1f2937;font-size:16px;font-weight:600;margin:0}.select-all-button{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .3s ease}.select-all-button:hover{background:#3730a3;transform:translateY(-1px)}.selection-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.selection-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.selection-item:hover{background:#f3f4f6;border-color:#d1d5db}.selection-item input[type=checkbox]{accent-color:#4f46e5;height:16px;width:16px}.color-indicator{border:2px solid #fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;height:16px;width:16px}.display-options{display:flex;flex-direction:column;gap:8px}.option-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.option-checkbox:hover{background:#f3f4f6;border-color:#d1d5db}.option-checkbox input[type=checkbox]{accent-color:#4f46e5;height:16px;width:16px}.option-checkbox span{color:#374151;font-size:14px}.sort-select{border:1px solid #e5e7eb;color:#374151;transition:all .3s ease}.sort-select:hover{border-color:#d1d5db}.sort-select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.comparison-chart{margin-bottom:32px}.unified-chart-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:24px}.unified-chart-wrapper h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.unified-chart-container{display:flex;justify-content:center;margin-bottom:24px;overflow-x:auto}.unified-chart-svg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:800px}.chart-title{fill:#1f2937;font-size:16px;font-weight:600}.subject-label{fill:#374151}.axis-label,.subject-label{font-size:12px;font-weight:500}.axis-label{fill:#6b7280}.statistics-table{margin-top:24px}.statistics-table h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.table-container{border:1px solid #e5e7eb;border-radius:8px;max-height:400px;overflow-x:auto;overflow-y:auto}table{border-collapse:collapse;font-size:14px;width:100%}thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:10}th{border-bottom:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:12px 8px}td,th{text-align:center;white-space:nowrap}td{border-bottom:1px solid #f1f5f9;padding:8px}tbody tr:hover{background:#f8fafc}.subject-color-dot{border-radius:50%;display:inline-block;height:12px;margin-right:8px;vertical-align:middle;width:12px}.comparison-legend{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.comparison-legend h4{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.legend-items{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.legend-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:12px;padding:8px 12px}.legend-color{border:2px solid #fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;height:20px;width:20px}.box-color{background:#4f46e5}.median-color{background:#fff;border:2px solid #fff}.mean-color{background:#fff;border:2px solid #374151}.outlier-color{background:#f59e0b}.whisker-color{background:#64748b}.legend-item span{color:#374151;font-size:14px}.spinner{border:4px solid #e5e7eb;border-top-color:#4f46e5;height:40px;margin:0 auto 20px;width:40px}.loading-state p{font-size:16px}.no-data{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;margin:20px 0;padding:60px 20px}.no-data-icon{font-size:48px;margin-bottom:16px}.no-data h4{color:#374151;font-size:18px;font-weight:600;margin-bottom:12px}.no-data p{line-height:1.5;margin:8px 0}.loading-state{background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;margin:20px 0;padding:60px 20px;text-align:center}.loading-state .loading-icon{animation:pulse 2s infinite;font-size:48px;margin-bottom:16px}.loading-state h3{color:#374151;font-size:18px;font-weight:600;margin-bottom:12px}.loading-state p{color:#6b7280;line-height:1.5;margin:8px 0}.chart-loading{background:#f9fafb;border-radius:8px;color:#6b7280;margin:20px 0;padding:40px 20px;text-align:center}.chart-loading .loading-icon{animation:pulse 2s infinite;font-size:32px;margin-bottom:12px}.chart-loading h4{color:#374151;font-size:16px;font-weight:600;margin-bottom:8px}.chart-loading p{font-size:14px;margin:4px 0}.data-management-section{background:#fff;border:2px solid #3b82f6;border-radius:8px;margin-bottom:24px;padding:20px}.data-management-section h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.data-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.demo-button,.editor-button,.export-button,.import-button{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .3s ease}.demo-button:hover,.editor-button:hover,.export-button:hover,.import-button:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.demo-button:disabled,.editor-button:disabled,.export-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.import-button{background:#10b981;overflow:hidden;position:relative}.import-button:hover{background:#059669}.demo-button{background:#f59e0b;font-weight:600}.demo-button:hover{background:#d97706;box-shadow:0 4px 12px #f59e0b4d}.data-source-indicator{margin-top:12px}.imported-indicator{align-items:center;background:#dbeafe;border:1px solid #93c5fd;border-radius:20px;color:#1e40af;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}@media (max-width:1024px){.controls-header{flex-direction:column;gap:16px;text-align:center}.control-buttons{justify-content:center}.mode-buttons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (max-width:768px){.class-comparison-standardized{padding:16px}.comparison-header h2{font-size:24px}.comparison-controls,.control-group{padding:16px}.control-group-header{align-items:flex-start;flex-direction:column;gap:8px}.mode-buttons{grid-template-columns:1fr}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.legend-items{grid-template-columns:1fr}.unified-chart-svg{max-width:100%;min-width:100%}}@media (max-width:480px){.comparison-mode-selector{padding:16px}.selection-item{font-size:12px;padding:6px 8px}.table-container{font-size:12px}td,th{padding:6px 4px}}.data-editor-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.data-editor-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1400px;overflow:hidden;width:95vw}.data-editor-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.header-left h3{font-size:20px;font-weight:600;margin:0}.data-source-badge{background:#fff3;border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.view-toggle{background:#ffffff1a;border-radius:8px;display:flex;overflow:hidden}.toggle-btn{background:#0000;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.toggle-btn:hover{background:#ffffff1a}.toggle-btn.active{background:#ffffff4d;font-weight:600}.close-button{background:#ef4444cc;border-radius:6px;color:#fff;font-weight:500;padding:8px 16px;transition:all .3s ease}.close-button:hover{background:#ef4444;transform:translateY(-1px)}.data-editor-content{overflow:hidden}.data-editor-content,.friendly-view{display:flex;flex:1 1;flex-direction:column}.friendly-view{padding:20px}.controls-bar{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.search-controls{gap:12px}.search-input{padding:8px 12px;width:200px}.search-input,.sort-select{border-radius:6px}.sort-order-btn{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .3s ease}.sort-order-btn:hover{background:#3730a3;transform:translateY(-1px)}.add-group-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .3s ease}.add-group-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.data-table-container{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;overflow:auto}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.data-table td{border-bottom:1px solid #f3f4f6;padding:8px;vertical-align:middle}.data-table tr:hover{background:#f9fafb}.name-input{font-size:14px}.data-input,.name-input{border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;width:100%}.data-input{font-family:monospace;font-size:12px}.stat-cell{background:#f9fafb;color:#4b5563;font-weight:500;text-align:center}.outliers-cell{color:#ef4444;font-family:monospace;font-size:12px}.delete-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .3s ease}.delete-btn:hover{background:#dc2626}.json-view{display:flex;flex:1 1;flex-direction:column;padding:20px}.json-controls{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.json-controls h4{color:#374151;font-size:16px;margin:0 0 8px}.json-controls p{color:#6b7280;font-size:14px;margin:4px 0}.json-textarea{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;padding:16px;resize:none;width:100%}.json-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.json-info{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin-top:12px;padding:12px}.json-info small{color:#92400e;font-size:12px;line-height:1.4}.data-editor-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.footer-info{color:#6b7280;display:flex;font-size:14px;gap:24px}.footer-info span{font-weight:500}.footer-actions{display:flex;gap:12px}.save-close-btn{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.save-close-btn:hover{background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}@media (max-width:1024px){.data-editor-container{height:95vh;width:98vw}.controls-bar{align-items:stretch;flex-direction:column;gap:12px}.search-controls{flex-wrap:wrap;justify-content:center}.data-table{font-size:12px}.data-table td,.data-table th{padding:6px 4px}}@media (max-width:768px){.data-editor-header{flex-direction:column;gap:12px;text-align:center}.header-left,.header-right{flex-direction:column;gap:8px}.view-toggle{width:100%}.toggle-btn{flex:1 1}.data-table-container{overflow-x:auto}.footer-info{flex-direction:column;gap:8px;text-align:center}}.modal-overlay{padding:20px}.modal-content{border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-width:800px;overflow:hidden}.modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0}.modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0}.close-button{color:#718096;padding:4px;transition:all .2s ease}.close-button:hover{background:#e2e8f0;color:#2d3748}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.loading{color:#718096;font-size:1.1rem}.teachers-list{display:flex;flex-direction:column;gap:16px}.list-header{border-bottom:2px solid #e2e8f0;color:#4a5568;font-size:1.1rem;font-weight:600;padding-bottom:12px}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:400px;padding:8px}.teacher-item{border:2px solid #e2e8f0;gap:12px;padding:12px}.teacher-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.teacher-item.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 2px 8px #667eea33}.teacher-avatar{font-size:1rem;height:40px;width:40px}.teacher-name{font-size:.95rem;margin:0 0 2px}.teacher-specialty{font-size:.8rem}.selection-indicator{align-items:center;background:#e2e8f0;border:2px solid #e2e8f0;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.teacher-item.selected .selection-indicator{background:#667eea;border-color:#667eea}.teacher-main{cursor:pointer;gap:12px}.role-selection,.teacher-main{align-items:center;display:flex}.role-selection{border-top:1px solid #e2e8f0;gap:8px;margin-top:12px;padding-top:12px}.role-selection label{color:#4a5568;font-size:.85rem;font-weight:500;white-space:nowrap}.role-selection select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#2d3748;cursor:pointer;flex:1 1;font-size:.85rem;padding:6px 12px;transition:border-color .2s ease}.role-selection select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;padding:24px}.cancel-button{background:#e2e8f0;border:none;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.cancel-button:hover{background:#cbd5e0}.save-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.save-button:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px)}.save-button:disabled{background:#a0aec0;cursor:not-allowed;transform:none}@media (max-width:768px){.modal-content{margin:10px;max-height:95vh}.teachers-grid{grid-template-columns:1fr}.modal-body,.modal-header{padding:20px}.modal-footer{flex-direction:column;padding:20px}.cancel-button,.save-button{width:100%}}.teacher-info-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.page-header{border-radius:16px;gap:20px;margin-bottom:32px}.back-button{transition:all .2s ease}.page-header h1{font-size:2rem}.refresh-button{border:1px solid #ffffff4d;font-size:18px;margin-left:auto;transition:all .2s ease}.page-content{display:flex;flex-direction:column;gap:32px}.summary-card{align-items:center;border:1px solid #e5e7eb;box-shadow:0 4px 20px #00000014;display:flex;gap:20px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.card-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;font-size:28px;height:60px;width:60px}.card-content h3{color:#6b7280;font-size:16px;margin:0 0 8px}.card-number{color:#1f2937;font-size:2rem;margin-bottom:4px}.card-content p{color:#9ca3af;font-size:14px}.teacher-list-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.teacher-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;gap:16px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.teacher-item:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.teacher-avatar{background:linear-gradient(135deg,#8b5cf6,#a855f7);font-size:20px;height:50px;width:50px}.teacher-info h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.teacher-info p{font-size:14px;margin:0 0 8px}.teacher-subject{background:#f3f4f6;border-radius:6px;color:#374151;padding:4px 8px}.department-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.department-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.department-card{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.department-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.department-card h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.department-card p{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 12px}.teacher-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:8px 12px;text-align:center}@media (max-width:768px){.teacher-info-page{padding:15px}.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:1.5rem}.summary-section{gap:15px;grid-template-columns:1fr}.summary-card{padding:20px}.department-grid,.teacher-grid{gap:15px;grid-template-columns:1fr}}@media (max-width:480px){.summary-card{flex-direction:column;padding:16px;text-align:center}.card-icon{font-size:24px;height:50px;width:50px}.teacher-item{flex-direction:column;padding:16px;text-align:center}.teacher-avatar{font-size:18px;height:45px;width:45px}}.error-container,.loading-container,.no-data-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-container p{color:#6b7280;font-size:16px;margin:0}.error-container p{font-size:16px}.retry-button{transition:background-color .2s ease}.no-data-container p{color:#6b7280;font-size:16px;margin:0}.no-teachers{color:#6b7280;grid-column:1/-1}.teacher-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.tab-btn{border-bottom:2px solid #0000;color:#6b7280;font-size:14px;padding:12px 24px;transition:all .2s ease}.tab-btn:hover{background:#f9fafb;color:#374151}.tab-btn.active{background:#f8faff;border-bottom-color:#667eea;color:#667eea}.teacher-item.clickable{cursor:pointer;position:relative}.teacher-item.clickable:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea26}.teacher-actions{display:flex;gap:8px;margin-left:auto}.action-btn{background:#667eea;border-radius:6px;padding:6px 12px}.action-btn:hover{background:#5a67d8;transform:translateY(-1px)}.action-btn.primary{background:#10b981}.action-btn.primary:hover{background:#059669}.class-master-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.class-master-section h2{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:24px;padding-bottom:12px}.class-master-content{display:flex;flex-direction:column;gap:24px}.class-info-card{background:#f8faff;border:1px solid #e0e7ff;border-radius:12px;padding:20px}.class-info-card h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:16px}.class-details{display:flex;flex-direction:column;gap:16px}.class-item{border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:16px}.class-header{margin-bottom:12px}.class-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.student-count{background:#667eea;color:#fff;font-size:12px;font-weight:500}.class-stats{border-bottom:1px solid #e5e7eb;display:flex;gap:16px;margin-bottom:12px;padding:8px 0}.stat-item{flex-direction:column;gap:4px}.stat-label{font-size:12px}.stat-value{font-size:14px;font-weight:600}.class-actions{flex-wrap:wrap;gap:8px}.quick-access-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.quick-access-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:16px}.quick-access-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-access-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.quick-access-item:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.quick-access-item h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 8px}.quick-access-item p{color:#6b7280;font-size:14px;margin:0 0 12px}.quick-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease;width:100%}.quick-btn:hover{background:#5a67d8;transform:translateY(-1px)}.subjects-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.subjects-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.subjects-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.subject-card{background:#f8faff;border:1px solid #e0e7ff;border-radius:8px;padding:16px;transition:all .2s ease}.subject-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.subject-card h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 8px}.subject-name{color:#667eea;font-size:14px;margin:0 0 4px}.teacher-title{color:#6b7280;font-size:12px;margin:0 0 12px}.subject-actions{justify-content:center}.no-subjects{color:#6b7280;font-style:italic;grid-column:1/-1;padding:40px}.loading-class-info{color:#6b7280;padding:40px;text-align:center}@media (max-width:768px){.teacher-tabs{flex-direction:column;gap:4px}.tab-btn{padding:10px 16px;text-align:center}.quick-access-grid,.subjects-grid{grid-template-columns:1fr}.class-actions{flex-direction:column}.action-btn{width:100%}}.no-classes{color:#666;padding:2rem}.no-classes p{margin:.5rem 0}.class-info-note{color:#888;font-size:.9rem;font-style:italic}.class-item-3layers{display:flex;flex-direction:column;gap:20px;margin:20px 0}.top-layer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:20px;padding:20px}.class-label,.top-layer{align-items:center;display:flex}.class-label{background:#667eea;border-radius:8px;color:#fff;flex-direction:column;min-width:80px;padding:16px}.class-name{font-size:1.5rem;font-weight:700;margin-bottom:4px}.student-count{font-size:.9rem;opacity:.9}.stats-cards-horizontal{display:flex;flex:1 1;gap:16px}.stats-cards-horizontal .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;gap:12px;padding:16px}.center-layer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.center-layer h4{color:#2d3748;font-size:1.2rem;margin:0 0 16px;text-align:center}.bottom-layer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;justify-content:center;padding:20px}.bottom-layer .action-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.bottom-layer .action-btn.primary{background:#667eea;color:#fff}.bottom-layer .action-btn:not(.primary){background:#fff;border:1px solid #667eea;color:#667eea}.class-stats-horizontal .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:16px;transition:all .3s ease;width:100%}.class-stats-horizontal .stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.class-stats-horizontal .stat-icon{color:#667eea;font-size:1.5rem}.class-stats-horizontal .stat-content{display:flex;flex-direction:column;gap:4px}.class-stats-horizontal .stat-value{color:#2d3748;font-size:1.5rem;font-weight:700}.class-stats-horizontal .stat-label{color:#718096;font-size:.9rem}.students-grid-4col{grid-gap:16px;border:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(4,1fr);padding:16px}.class-actions-horizontal,.students-grid-4col{background:#f8fafc;border-radius:12px;gap:16px}.class-actions-horizontal{border:1px solid #e2e8f0;display:flex;justify-content:center;margin:20px 0;padding:20px}.class-actions-horizontal .action-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.class-actions-horizontal .action-btn.primary{background:#667eea;box-shadow:0 2px 4px #667eea4d;color:#fff}.class-actions-horizontal .action-btn.primary:hover{background:#5a67d8;box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.class-actions-horizontal .action-btn:not(.primary){background:#fff;border:1px solid #667eea;color:#667eea}.class-actions-horizontal .action-btn:not(.primary):hover{background:#667eea;box-shadow:0 4px 8px #667eea4d;color:#fff;transform:translateY(-2px)}.students-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin:24px 0;padding:24px}.students-section h4{border-bottom:3px solid #667eea;color:#2d3748;font-size:1.4rem;font-weight:700;margin:0 0 20px;padding-bottom:12px;text-align:center}.students-grid{grid-gap:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));max-height:600px;overflow-y:auto;padding:16px}.student-card{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;gap:16px;min-height:80px;padding:20px}.student-card:hover{border-color:#667eea;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.student-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;flex-shrink:0;font-size:24px;font-weight:700;height:60px;width:60px}.student-info{gap:6px;min-width:0}.student-id{color:#667eea;font-size:1rem;margin-bottom:2px}.student-name{color:#2d3748;font-size:1.1rem;margin-bottom:2px}.student-email{color:#718096;font-size:.9rem;word-break:break-all}.student-actions{display:flex;gap:8px}.view-student-btn{align-items:center;background:#667eea;border:none;border-radius:8px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;min-width:44px;padding:10px 14px;transition:all .3s ease}.view-student-btn:hover{background:#5a67d8;transform:scale(1.05)}@media (max-width:1024px){.students-grid-4col{grid-template-columns:repeat(3,1fr)}.class-actions-horizontal,.class-stats-horizontal{flex-direction:column;gap:12px}}@media (max-width:768px){.students-grid-4col{gap:16px;grid-template-columns:repeat(2,1fr);max-height:500px;padding:12px}.student-card{min-height:70px;padding:16px}.student-avatar{font-size:20px;height:50px;width:50px}.students-section{margin:16px 0;padding:16px}.students-section h4{font-size:1.2rem;margin-bottom:16px}.class-actions-horizontal,.class-stats-horizontal{margin:16px 0;padding:16px}}@media (max-width:480px){.students-grid-4col{gap:12px;grid-template-columns:1fr;max-height:400px;padding:8px}.student-card{gap:12px;min-height:60px;padding:12px}.student-avatar{font-size:18px;height:45px;width:45px}.student-name{font-size:1rem}.student-id{font-size:.9rem}.student-email{font-size:.8rem}.view-student-btn{font-size:14px;height:40px;min-width:40px}.class-stats-horizontal .stat-card{padding:12px}.class-actions-horizontal .action-btn{min-width:100px;padding:10px 16px}}.groups-section{padding:20px 0}.groups-container{display:flex;flex-direction:column;gap:40px}.group-category{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.category-title{border-bottom:3px solid #667eea;color:#2d3748;font-size:1.5rem;font-weight:700;margin:0 0 24px;padding-bottom:12px}.groups-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.group-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.group-card:hover{box-shadow:0 4px 12px #0000001a}.group-header{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px}.group-header-right{align-items:center;display:flex;gap:12px}.group-name{color:#2d3748;font-size:1.2rem;margin:0 0 4px}.group-english{color:#718096;font-size:.9rem;font-style:italic}.group-members h5{color:#4a5568;font-size:1rem;font-weight:600;margin:0 0 12px}.members-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto;padding:8px}.member-card{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.member-card:hover{background:#edf2f7;border-color:#cbd5e0}.member-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.member-info{min-width:0}.member-name{color:#2d3748;font-size:.9rem;font-weight:600;margin:0 0 2px}.member-name,.member-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-subject{color:#718096;font-size:.8rem}.no-members{color:#718096;font-style:italic;grid-column:1/-1;padding:20px}.loading-groups{color:#718096;padding:40px;text-align:center}@media (max-width:768px){.groups-grid,.members-grid{grid-template-columns:1fr}.group-card{padding:16px}.category-title{font-size:1.3rem}}.subjects-container{display:flex;flex-direction:column;gap:32px}.subject-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:24px}.subject-header{border-bottom:2px solid #667eea;padding-bottom:12px}.subject-actions{align-items:center;display:flex;gap:12px}.subject-title{color:#2d3748;font-size:1.4rem;font-weight:700;margin:0}.teacher-count{background:#edf2f7;border-radius:20px;color:#718096;font-size:.9rem;font-weight:500;padding:4px 12px}.teachers-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.teacher-card{box-shadow:0 1px 3px #0000000d;padding:16px;transition:all .2s ease}.teacher-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a}.teacher-avatar{background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;font-size:1.2rem}.teacher-info{min-width:0}.teacher-name{color:#2d3748;font-size:1rem;margin:0 0 4px}.teacher-name,.teacher-specialty{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-specialty{color:#718096;font-size:.85rem}.member-role,.teacher-role{margin-top:4px}.role-badge{background:#667eea;font-size:.7rem;font-weight:500;padding:2px 8px;text-align:center}.section-header{border-bottom:2px solid #e2e8f0}.section-header h2{color:#2d3748;font-weight:700;margin:0}.download-buttons{align-items:center;display:flex;gap:10px}.download-button{align-items:center;background:#dc2626;border-radius:8px;box-shadow:0 2px 4px #dc262633;display:flex;font-size:.9rem;gap:6px;padding:10px 16px;transition:all .2s ease}.download-button.test-button{background:#059669;box-shadow:0 2px 4px #05966933}.download-button:hover{background:#b91c1c;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.download-button.test-button:hover{background:#047857;box-shadow:0 4px 8px #0596694d}.download-button:active{box-shadow:0 2px 4px #dc262633;transform:translateY(0)}.download-icon{align-items:center;background:#fff;border-radius:2px;color:#dc2626;display:inline-block;display:flex;font-size:1rem;font-size:10px;font-weight:700;height:16px;justify-content:center;width:16px}@media (max-width:768px){.section-header{align-items:flex-start;flex-direction:column;gap:12px}.section-header h2{font-size:1.3rem}.download-buttons{align-items:flex-end;flex-direction:column;gap:8px}.download-button{font-size:.85rem;padding:8px 12px}}.teacher-actions{flex-shrink:0}.teacher-actions .action-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.teacher-actions .action-btn:hover{background:#5a67d8;transform:translateY(-1px)}.manage-button{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:4px;padding:8px 16px;transition:all .2s ease}.manage-button:hover{background:#059669;box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.no-subjects{color:#718096;font-size:1.1rem;padding:60px 20px;text-align:center}@media (max-width:768px){.teachers-grid{grid-template-columns:1fr}.subject-header{align-items:flex-start;flex-direction:column;gap:8px}.subject-section{padding:20px}.teacher-card{padding:14px}.teacher-avatar{font-size:1rem;height:40px;width:40px}}.student-info-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);margin:0;min-height:100vh;padding:0}.page-header{background:linear-gradient(135deg,#4285f4,#34a853);box-shadow:0 4px 12px #00000026}.back-button{gap:5px;padding:10px 15px}.page-header h1{font-size:28px;font-weight:600;text-shadow:0 2px 4px #0000004d}.refresh-button{font-size:16px;padding:10px}.student-tabs{background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;gap:0;padding:0 20px}.tab-btn{color:#666;font-size:16px;padding:15px 25px;transition:all .3s ease}.tab-btn.active,.tab-btn:hover{background:#4285f40d;color:#4285f4}.tab-btn.active{border-bottom-color:#4285f4}.page-content{background:#fff;min-height:calc(100vh - 140px);padding:30px}.error-container,.loading-container{min-height:400px}.loading-spinner{border-top-color:#4285f4}.error-message{background:#ffebee;border:1px solid #f44336;max-width:400px;padding:30px}.error-message h3{color:#d32f2f;margin:0 0 15px}.retry-button{background:#4285f4;border-radius:6px;font-size:14px;margin-top:15px;padding:10px 20px;transition:background .3s ease}.retry-button:hover{background:#3367d6}.overview-section{margin:0 auto;max-width:1200px}.stats-grid{margin-bottom:40px}.stat-card{box-shadow:0 4px 12px #0000001a;gap:20px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-2px)}.stat-icon{background:linear-gradient(135deg,#4285f4,#34a853);border-radius:50%;font-size:48px;height:80px;width:80px}.stat-number{color:#4285f4;font-size:36px;margin-bottom:5px}.stat-label{color:#333;font-weight:600;margin-bottom:3px}.stat-subtitle{color:#666;font-size:14px}.grade-distribution{margin-top:40px}.grade-distribution h2{color:#333;font-size:24px;font-weight:600;margin-bottom:30px;text-align:center}.grade-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grade-card{border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.grade-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-2px)}.grade-number{color:#f44336;font-size:32px;line-height:1;margin-bottom:8px}.grade-label{color:#333;font-size:16px;font-weight:600;margin-bottom:5px}.grade-subtitle{color:#666;font-size:14px}.class-browser-section h2{color:#333;font-size:24px;font-weight:600;margin-bottom:30px}.form-level-group{margin-bottom:40px}.form-level-group h3{border-bottom:2px solid #4285f4;color:#4285f4;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:10px}.class-buttons{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.class-card{border:2px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.class-card:hover{background:#4285f405;border-color:#4285f4;box-shadow:0 6px 20px #4285f426}.class-header{border-bottom:1px solid #f0f0f0;margin-bottom:15px;padding-bottom:10px}.class-name{color:#333;font-size:18px;margin:0}.student-count{background:#f8f9fa;border-radius:6px;color:#666;font-size:14px;padding:4px 8px}.teacher-info{margin-bottom:15px}.teacher-row{align-items:flex-start;display:flex;font-size:14px;margin-bottom:8px}.teacher-label{color:#555;font-weight:600;margin-right:8px;min-width:80px}.teacher-name{margin-right:5px}.teacher-subject{font-size:12px}.subject-teachers{display:flex;flex-direction:column;gap:4px}.subject-teacher{background:#f8f9fa;border-radius:4px;color:#333;display:inline-block;font-size:13px;padding:2px 6px}.view-details-btn{background:linear-gradient(135deg,#4285f4,#34a853);font-size:14px;font-weight:500;padding:10px}.view-details-btn:hover{background:linear-gradient(135deg,#3367d6,#2d8f47);box-shadow:0 4px 12px #4285f44d}.search-section h2{color:#333;font-size:24px;font-weight:600;margin-bottom:30px}.search-input{border:2px solid #e0e0e0;border-radius:10px;padding:15px 20px}.search-input:focus{border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.search-results{border-radius:10px;box-shadow:0 4px 12px #0000001a;margin-top:20px;overflow:hidden}.search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:15px 20px;transition:background .3s ease}.search-result-item:hover{background:#4285f40d}.search-result-item:last-child{border-bottom:none}.student-name{margin-bottom:5px}.student-details{color:#666;font-size:14px}.class-details-section{margin:0 auto;max-width:1000px}.class-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px}.class-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.back-to-overview{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:8px 15px;transition:all .3s ease}.back-to-overview:hover{background:#e0e0e0;color:#333}.download-button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .3s ease}.download-button:hover{background:#d32f2f}.class-teachers{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.teacher-info{align-items:center;gap:10px;margin-bottom:10px}.teacher-info:last-child{margin-bottom:0}.teacher-role{color:#4285f4;font-weight:600;min-width:80px}.teacher-name{color:#333;font-weight:500}.teacher-subject{color:#666;font-size:14px}.students-list h3{color:#333;font-size:20px;font-weight:600;margin-bottom:20px}.students-grid{grid-gap:15px;gap:15px}.student-card{border:1px solid #e0e0e0;border-radius:8px;gap:15px;padding:15px;transition:all .3s ease}.student-card:hover{background:#4285f40d;border-color:#4285f4;box-shadow:0 2px 8px #4285f433;transform:translateY(-1px)}.student-number{align-items:center;background:#4285f4;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:30px;justify-content:center;width:30px}.student-name{font-size:16px;font-weight:600;margin-bottom:3px}.student-id{color:#666}.student-details-section{margin:0 auto;max-width:800px}.student-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.student-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.student-profile{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px}.profile-section{margin-bottom:30px}.profile-section:last-child{margin-bottom:0}.profile-section h3{border-bottom:1px solid #e0e0e0;color:#4285f4;font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:10px}.profile-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.academic-item,.attendance-item,.profile-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.academic-item:last-child,.attendance-item:last-child,.profile-item:last-child{border-bottom:none}.academic-item label,.attendance-item label,.profile-item label{color:#666;font-weight:600;min-width:80px}.academic-item span,.attendance-item span,.profile-item span{color:#333;font-weight:500}.academic-stats,.attendance-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.page-header{flex-direction:column;gap:15px;padding:15px;text-align:center}.page-header h1{font-size:24px}.page-content{padding:20px}.stats-grid{grid-template-columns:1fr}.grade-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.class-buttons{grid-template-columns:1fr}.class-header{align-items:stretch;flex-direction:column;gap:15px}.students-grid{grid-template-columns:1fr}.student-header{align-items:stretch;flex-direction:column;gap:15px}.profile-grid{grid-template-columns:1fr}}.class-info-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.page-header{background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 4px 15px #ff6b354d}.loading-spinner{border-top-color:#ff6b35}.retry-button{background:#ff6b35}.retry-button:hover{background:#e55a2b}.summary-card:hover{border-color:#ff6b35}.card-number{color:#ff6b35;text-shadow:2px 2px 4px #ff6b3533}.grade-section{margin-bottom:40px}.grade-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.grade-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.grade-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:25px;transition:all .3s ease}.grade-card:hover{border-color:#ff6b35;box-shadow:0 8px 30px #00000026;transform:translateY(-3px)}.grade-card h3{color:#2d3748;font-size:1.5rem;margin:0 0 15px}.grade-card h3,.grade-number{font-weight:700;text-align:center}.grade-number{color:#ff6b35;font-size:2.5rem;margin-bottom:10px}.grade-card p{color:#718096;font-weight:600;margin-bottom:20px;text-align:center}.grade-details{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:15px}.grade-details p{color:#4a5568;font-weight:500;margin:5px 0;text-align:left}.class-list{margin-top:15px}.class-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:8px 0}.class-name{color:#2d3748;font-weight:600}.class-master{color:#718096;font-size:.9rem;font-style:italic}.stats-section{margin-bottom:40px}.stats-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.stats-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-item{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:25px}.stat-item h4{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 20px}.stat-content,.stat-item h4{text-align:center}.stat-bar{background:#e2e8f0;border-radius:10px;height:20px;margin-bottom:15px;overflow:hidden;width:100%}.stat-fill{border-radius:10px;height:100%;transition:width 1s ease}.stat-fill.male{background:linear-gradient(90deg,#3182ce,#63b3ed)}.stat-fill.eca{background:linear-gradient(90deg,#38a169,#68d391)}.stat-fill.academic{background:linear-gradient(90deg,#d69e2e,#f6e05e)}.stat-labels{color:#718096;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between}.recent-classes-section{margin-bottom:40px}.recent-classes-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.classes-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.class-item{align-items:center;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #0000001a;gap:15px;padding:20px;transition:all .3s ease}.class-item:hover{border-color:#ff6b35;box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.class-avatar{align-items:center;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.class-info h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 5px}.class-info p{color:#718096;font-size:.9rem;margin:0 0 3px}.class-master{color:#ff6b35;font-weight:500}.class-status{background:#38a169;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:6px 12px}.no-classes{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;color:#718096;padding:40px;text-align:center}.class-masters-section{margin-bottom:40px}.class-masters-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.masters-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.master-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;gap:15px;padding:20px;transition:all .3s ease}.master-card:hover{border-color:#ff6b35;box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.master-avatar{align-items:center;background:linear-gradient(135deg,#3182ce,#63b3ed);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.master-info{flex:1 1}.master-info h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 5px}.master-department{color:#ff6b35;font-size:.9rem;font-weight:500;margin:0 0 3px}.master-position{color:#718096;font-size:.9rem;margin:0 0 3px}.master-english{color:#a0aec0;font-size:.8rem;font-style:italic;margin:0}.no-masters{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;color:#718096;padding:40px;text-align:center}@media (max-width:768px){.class-info-page{padding:15px}.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:2rem}.classes-list,.grade-grid,.masters-grid,.stats-grid,.summary-section{grid-template-columns:1fr}.class-item,.master-card{flex-direction:column;text-align:center}}@media (max-width:480px){.page-header{padding:15px}.page-header h1{font-size:1.8rem}.summary-card{padding:20px}.card-number{font-size:2.5rem}.grade-card{padding:20px}.grade-number{font-size:2rem}}.staff-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.page-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.page-header h1{font-size:2.5rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.back-button{border:2px solid #ffffff4d;font-size:1rem;font-weight:600}.refresh-button{border:2px solid #ffffff4d;font-size:1.2rem;padding:12px}.refresh-button:hover{border-color:#ffffff80;transform:rotate(180deg)}.nav-tabs{flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.nav-tab{background:#fff;color:#4a5568;font-size:1rem;min-width:120px}.nav-tab:hover{border-color:#667eea;color:#667eea}.nav-tab.active{background:#667eea;border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.error-container{background:#fff5f5;border:2px solid #fed7d7;border-radius:12px;margin:20px 0}.error-container p{color:#c53030;font-size:1.1rem;margin-bottom:20px}.retry-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.retry-button:hover{background:#5a67d8;transform:translateY(-2px)}.no-data-container{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;margin:20px 0;padding:60px 20px;text-align:center}.no-data-container p{color:#4a5568;font-size:1.1rem}.summary-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}.summary-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:30px}.summary-card:hover{border-color:#667eea;box-shadow:0 8px 30px #00000026}.card-icon{font-size:3rem;margin-bottom:20px}.card-content h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 15px}.card-number{color:#667eea;font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #667eea33}.card-content p{color:#718096;font-size:1rem;margin:0}.department-overview{margin-bottom:40px}.department-overview h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.department-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.department-card{background:#fff;border-left:4px solid;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:25px;transition:all .3s ease}.department-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-3px)}.department-header{align-items:center;border-bottom:2px solid #f7fafc;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.department-header h3{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0}.staff-count{background:#667eea;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 12px}.department-staff{display:flex;flex-direction:column;gap:10px}.staff-preview{align-items:center;border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:8px 0}.staff-preview:last-child{border-bottom:none}.staff-name{color:#2d3748;font-weight:600}.staff-position{color:#718096;font-style:italic}.more-staff{background:#f7fafc;border-radius:8px;color:#667eea;font-size:.9rem;font-weight:600;padding:10px;text-align:center}.recent-staff-section{margin-bottom:40px}.recent-staff-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.staff-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.staff-item{align-items:center;background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;gap:15px;padding:20px;transition:all .3s ease}.staff-item:hover{border-color:#667eea;box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.staff-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.staff-info{flex:1 1}.staff-info h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 5px}.staff-info p{color:#718096;font-size:.9rem;margin:0 0 3px}.staff-position{color:#667eea;font-size:.9rem;font-weight:500}.staff-status{background:#38a169;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:6px 12px}.admin-section,.facilities-section,.support-section,.teaching-section,.technical-section{margin-bottom:40px}.admin-section h2,.facilities-section h2,.support-section h2,.teaching-section h2,.technical-section h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:25px;text-align:center}.facilities-category,.tech-category{margin-bottom:30px}.facilities-category h3,.tech-category h3{color:#4a5568;font-size:1.5rem;font-weight:600;margin-bottom:20px;text-align:center}.staff-category-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.staff-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;gap:20px;padding:25px;transition:all .3s ease}.staff-card:hover{border-color:#667eea;box-shadow:0 8px 30px #00000026;transform:translateY(-3px)}.staff-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.staff-details{flex:1 1}.staff-details h3{color:#2d3748;font-size:1.3rem;font-weight:700;margin:0 0 8px}.english-name{color:#667eea}.department,.english-name{font-size:1rem;font-weight:600;margin:0 0 8px}.department{color:#4a5568}.position{color:#718096;margin:0 0 8px}.position,.specialty{font-size:.9rem;font-weight:500}.specialty{background:#f7fafc;border-radius:6px;color:#2d3748;display:inline-block;margin:0 0 15px;padding:8px 12px}.contact-info{display:flex;flex-direction:column;gap:5px}.contact-info span{color:#718096;font-size:.9rem;font-weight:500}@media (max-width:768px){.staff-page{padding:15px}.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:2rem}.nav-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:10px}.nav-tab{min-width:100px;white-space:nowrap}.department-grid,.staff-category-grid,.staff-list,.summary-section{grid-template-columns:1fr}.staff-card{flex-direction:column;text-align:center}.staff-avatar-large{align-self:center}}@media (max-width:480px){.page-header{padding:15px}.page-header h1{font-size:1.8rem}.summary-card{padding:20px}.card-number{font-size:2.5rem}.department-card,.staff-card{padding:20px}.staff-avatar-large{font-size:1.5rem;height:60px;width:60px}}.group-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-right:1px solid #0000001a;display:flex;flex-direction:column;overflow:visible;transition:transform .3s ease,width .3s ease;width:280px}.group-list.collapsed{transform:translateX(-220px);width:60px}.group-list.collapsed .create-group-button,.group-list.collapsed .group-list-controls,.group-list.collapsed .group-list-header h3,.group-list.collapsed .group-list-header p,.group-list.collapsed .groups-container{display:none}.group-list.collapsed .group-list-header{cursor:pointer;padding:1rem .5rem}.group-list.collapsed .group-list-header:after{content:"💬";display:block;font-size:1.5rem}.group-list-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;padding:1.5rem;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.toggle-button{background:#fff3;border:none;border-radius:4px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.toggle-button:hover{background:#ffffff4d}.group-list-header h3{font-size:.9rem;font-weight:600;margin:0}.group-list-header p{font-size:.8rem;margin:.25rem 0 0;opacity:.9}.group-list-controls{background:#fffc;border-bottom:1px solid #0000001a;padding:.75rem}.search-box{margin-bottom:1rem;position:relative}.search-input{background:#fff;border:1px solid #0003;border-radius:20px;font-size:.9rem;padding:.6rem .75rem .6rem 2.25rem}.search-icon{color:#666;font-size:.9rem;left:1rem}.filter-controls{gap:.5rem}.filter-select{border:1px solid #0003;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;padding:.5rem}.filter-select:focus{border-color:#667eea;outline:none}.groups-container{flex:1 1;overflow-y:auto;padding:.5rem}.no-groups{color:#666;padding:2rem;text-align:center}.no-groups p{margin:.25rem 0}.group-item{align-items:center;background:#fff;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;margin-bottom:.4rem;min-height:64px;padding:.75rem;position:relative;transition:all .3s ease}.group-item:hover{border-color:#667eea4d;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.group-item.selected{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.group-icon{align-items:center;border-radius:50%;box-shadow:0 4px 12px #00000026;display:flex;flex-shrink:0;font-size:1.2rem;height:42px;justify-content:center;margin-right:.75rem;width:42px}.group-info{flex:1 1;min-width:0}.group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.group-name{color:#374151;font-size:.9rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{background:#ef4444;border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;min-width:20px;padding:.25rem .5rem;text-align:center}.group-description{color:#374151;line-height:1.3;margin:0 0 .4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-meta{align-items:center;display:flex;gap:.6rem}.group-meta,.group-type,.last-activity,.member-count{color:#374151;font-size:.9rem;font-weight:500;line-height:1.3}.group-type,.last-activity,.member-count{background:#0000000d;border-radius:12px;padding:.25rem .5rem;white-space:nowrap}.admin-badge{color:#f59e0b;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:1rem;position:absolute;right:.5rem;top:.5rem}.create-group-button{background:#ffffffe6;border-top:1px solid #0000001a;padding:1rem}.btn-create-group{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s ease;width:100%}.btn-create-group:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.btn-create-group span{font-size:1.2rem;font-weight:700}.groups-container::-webkit-scrollbar{width:6px}.groups-container::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.groups-container::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.groups-container::-webkit-scrollbar-thumb:hover{background:#667eea80}@media (max-width:768px){.group-list{border-bottom:1px solid #0000001a;border-right:none;width:100%}.group-list.collapsed{transform:none;width:100%}.group-list.collapsed .group-list-header{padding:1rem}.group-list.collapsed .group-list-header:after{display:none}.group-list-header{padding:1rem}.group-list-header h3{font-size:1.1rem}.group-item{padding:.75rem}.group-icon{font-size:1.2rem;height:42px;width:42px}}@media (max-width:480px){.group-list-controls{padding:.75rem}.search-input{font-size:.9rem;padding:.5rem 1rem .5rem 2rem}.group-item{padding:.5rem}.group-icon{font-size:1.1rem;height:38px;width:38px}}.message-bubble{animation:fadeIn .3s ease-in-out;margin:.5rem 0;max-width:70%;position:relative}.message-bubble.own-message{align-self:flex-end;margin-left:auto}.message-bubble.other-message{align-self:flex-start;margin-right:auto}.message-sender{gap:.5rem;margin-bottom:.5rem}.message-sender,.sender-avatar{align-items:center;display:flex}.sender-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.sender-info{display:flex;flex-direction:column;gap:.25rem}.sender-name{color:#333;font-size:.85rem;font-weight:600}.sender-role{background:#0000000d;border-radius:10px;color:#666;display:inline-block;font-size:.75rem;padding:.125rem .5rem}.message-content{word-wrap:break-word;border-radius:18px;line-height:1.4;padding:.75rem 1rem;position:relative}.own-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:6px;color:#fff}.other-message .message-content{background:#fff;border:1px solid #0000001a;border-bottom-left-radius:6px;color:#333}.message-text{font-size:.95rem;line-height:1.5}.message-image img{border-radius:12px;cursor:pointer;max-height:300px;max-width:100%;transition:transform .3s ease}.message-image img:hover{transform:scale(1.05)}.image-fallback{color:#666;font-size:.9rem;gap:.5rem;padding:1rem}.image-fallback,.message-file{align-items:center;background:#0000000d;border-radius:8px;display:flex}.message-file{border:1px solid #0000001a;gap:.75rem;padding:.75rem}.file-icon{font-size:1.5rem}.file-info{flex:1 1;min-width:0}.file-name{font-size:.9rem;font-weight:600}.file-size{font-size:.8rem;margin-top:.25rem}.btn-download{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.btn-download:hover{background:#5a67d8;transform:scale(1.1)}.message-system{align-items:center;background:#667eea1a;border:1px solid #667eea33;border-radius:20px;display:flex;gap:.5rem;margin:1rem auto;max-width:400px;padding:.5rem 1rem;text-align:center}.system-icon{color:#667eea;font-size:1rem}.system-content{color:#667eea;font-size:.85rem;font-weight:500}.message-attachments{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.attachment-item{border-radius:8px;overflow:hidden}.attachment-image{border-radius:8px;cursor:pointer;max-height:200px;max-width:100%;transition:transform .3s ease}.attachment-image:hover{transform:scale(1.05)}.attachment-file{align-items:center;background:#0000000d;border-radius:6px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem}.attachment-file .file-icon{color:#667eea;font-size:1rem}.attachment-file .file-name{color:#333;font-weight:500}.attachment-file .file-size{color:#666;font-size:.75rem}.message-meta{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.5rem}.own-message .message-meta{color:#fffc}.other-message .message-meta{color:#888}.message-time{opacity:.8}.message-status{font-size:.8rem;opacity:.9}.message-actions{background:#fff;border:1px solid #0000001a;border-radius:20px;box-shadow:0 4px 12px #00000026;display:flex;gap:.25rem;opacity:0;padding:.25rem;position:absolute;right:0;top:-10px;transform:translateY(-10px);transition:all .3s ease;z-index:10}.message-bubble:hover .message-actions{opacity:1;transform:translateY(0)}.action-btn{background:#667eea1a;border-radius:50%;color:#667eea;height:28px;width:28px}.action-btn:hover{background:#667eea;color:#fff;transform:scale(1.1)}.reply-indicator{background:#0000000d;border-radius:10px;color:#666;font-size:.75rem;gap:.25rem;margin-bottom:.5rem;max-width:200px;padding:.25rem .5rem}.reply-icon{font-size:.8rem}@media (max-width:768px){.message-bubble{max-width:85%}.message-content{padding:.5rem .75rem}.message-text{font-size:.9rem}.sender-avatar{height:28px;width:28px}.sender-avatar,.sender-name{font-size:.8rem}.sender-role{font-size:.7rem}}@media (max-width:480px){.message-bubble{max-width:90%}.message-content{padding:.5rem}.message-text{font-size:.85rem}.sender-avatar{font-size:.7rem;height:24px;width:24px}.sender-name{font-size:.75rem}.sender-role{font-size:.65rem}.message-actions{right:-5px;top:-5px}.action-btn{font-size:.8rem;height:24px;width:24px}}.message-composer{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:visible;position:relative}.reply-indicator{align-items:center;background:#667eea1a;border-bottom:1px solid #667eea33;color:#667eea;display:flex;font-size:.85rem;gap:.5rem;padding:.75rem 1rem}.reply-icon{font-size:1rem}.reply-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-reply{background:none;border:none;border-radius:50%;color:#667eea;cursor:pointer;font-size:1rem;padding:.25rem;transition:all .3s ease}.btn-remove-reply:hover{background:#667eea1a;transform:scale(1.1)}.attachments-preview{background:#00000005;border-bottom:1px solid #0000001a;padding:.75rem 1rem}.attachment-preview-item{align-items:center;background:#fff;border:1px solid #0000001a;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem}.attachment-preview-item:last-child{margin-bottom:0}.attachment-info{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.file-icon{color:#667eea;font-size:1.2rem}.file-name{color:#333;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#666;font-size:.75rem}.btn-remove-file{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;height:24px;justify-content:center;transition:all .3s ease;width:24px}.btn-remove-file:hover{background:#dc2626;transform:scale(1.1)}.composer-input-area{align-items:flex-end;background:#fff;display:flex;gap:.75rem;padding:1rem;position:relative}.composer-controls{display:flex;flex-shrink:0;gap:.5rem}.control-btn{align-items:center;background:#667eea1a;border-radius:50%;color:#667eea;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.control-btn:hover{background:#667eea33;transform:scale(1.1)}.message-input-container{flex:1 1;position:relative;z-index:1001}.message-input{border:1px solid #0003;border-radius:20px;font-family:inherit;font-size:.95rem;line-height:1.4;max-height:120px;min-height:40px;outline:none;padding:.75rem;resize:none;transition:all .3s ease;width:100%}.message-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.message-input::placeholder{color:#999}.send-button{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;transition:all .3s ease;width:40px}.send-button.active{background:linear-gradient(135deg,#667eea,#764ba2);transform:scale(1)}.send-button.active:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.send-button.disabled{background:#ccc;cursor:not-allowed;transform:scale(1)}.send-button.disabled:hover{box-shadow:none;transform:scale(1)}.message-templates{background:#fff;border:1px solid #0000001a;border-radius:12px;bottom:calc(100% + 10px);box-shadow:0 8px 25px #00000026;left:0;max-height:300px;overflow-y:auto;pointer-events:auto;position:absolute;right:0;transform:translateY(0);z-index:1000}.templates-header{align-items:center;background:#667eea0d;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:1rem}.templates-header h4{color:#333;font-size:1rem;margin:0}.btn-close-templates{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:all .3s ease}.btn-close-templates:hover{background:#0000001a;color:#333}.templates-list{padding:.5rem}.template-item{background:#fff;border:none;border-radius:8px;cursor:pointer;margin-bottom:.25rem;padding:.75rem;text-align:left;transition:all .3s ease;width:100%}.template-item:hover{background:#667eea1a;transform:translateX(5px)}.template-item:last-child{margin-bottom:0}.template-name{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.template-preview{color:#666;display:block;font-size:.8rem;line-height:1.3}.file-attachment-panel{background:#fff;border:1px solid #0000001a;border-radius:12px;bottom:calc(100% + 10px);box-shadow:0 8px 25px #00000026;left:0;pointer-events:auto;position:absolute;right:0;z-index:1000}.attachment-header{align-items:center;background:#667eea0d;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:1rem}.attachment-header h4{color:#333;font-size:1rem;margin:0}.btn-close-attachments{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:all .3s ease}.btn-close-attachments:hover{background:#0000001a;color:#333}.attachment-options{padding:1rem}.file-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;margin-bottom:1rem;padding:.75rem 1.5rem;text-align:center;transition:all .3s ease}.file-upload-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.file-types-info{background:#00000005;border:1px solid #0000001a;border-radius:8px;padding:.75rem}.file-types-info p{color:#666;font-size:.85rem;margin:.25rem 0}.file-types-info p:first-child{color:#333;font-weight:600}.file-attachment-panel::-webkit-scrollbar,.message-templates::-webkit-scrollbar{width:6px}.file-attachment-panel::-webkit-scrollbar-track,.message-templates::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.file-attachment-panel::-webkit-scrollbar-thumb,.message-templates::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.file-attachment-panel::-webkit-scrollbar-thumb:hover,.message-templates::-webkit-scrollbar-thumb:hover{background:#667eea80}@media (max-width:768px){.composer-input-area{gap:.5rem;padding:.75rem}.control-btn,.send-button{font-size:1rem;height:36px;width:36px}.message-input{font-size:.9rem;min-height:36px;padding:.5rem}.file-attachment-panel,.message-templates{max-height:250px}}@media (max-width:480px){.composer-input-area{gap:.25rem;padding:.5rem}.control-btn,.send-button{font-size:.9rem;height:32px;width:32px}.message-input{font-size:.85rem;min-height:32px;padding:.5rem}.attachments-preview,.reply-indicator{padding:.5rem}.attachment-preview-item{padding:.25rem}.btn-remove-file{font-size:.7rem;height:20px;width:20px}}.emoji-picker-panel{background:#fff;border:1px solid #0000001a;border-radius:12px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #00000026;left:0;max-height:300px;overflow:hidden;pointer-events:auto;position:absolute;right:0;z-index:1000}.emoji-header{align-items:center;background:#f8fafc;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:.75rem 1rem}.emoji-header h4{color:#333;font-size:.9rem;font-weight:600;margin:0}.btn-close-emojis{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1rem;padding:.25rem;transition:all .3s ease}.btn-close-emojis:hover{background:#0000001a;color:#333}.emoji-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(10,1fr);max-height:250px;overflow-y:auto;padding:.75rem}.emoji-item{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:40px;padding:.5rem;transition:all .2s ease}.emoji-item:hover{background:#667eea1a;transform:scale(1.1)}.emoji-item:active{transform:scale(.95)}.emoji-grid::-webkit-scrollbar{width:6px}.emoji-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.emoji-grid::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.emoji-grid::-webkit-scrollbar-thumb:hover{background:#667eea80}.chat-interface{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:visible}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #fff3;color:#fff;justify-content:space-between;padding:1rem 1.5rem}.chat-header,.group-info{align-items:center;display:flex}.group-info{gap:1rem}.group-avatar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.group-details{display:flex;flex-direction:column}.group-name{font-size:1.25rem;font-weight:600;margin:0}.group-description{font-size:.9rem;margin:.25rem 0 0;opacity:.9}.group-stats{display:flex;gap:1rem;margin-top:.5rem}.group-type,.member-count{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:15px;font-size:.8rem;padding:.25rem .75rem}.group-actions{display:flex;gap:.5rem}.btn-group-info,.btn-group-members,.btn-group-settings{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:40px;transition:all .3s ease;width:40px}.btn-group-info:hover,.btn-group-members:hover,.btn-group-settings:hover{background:#ffffff4d;transform:scale(1.1)}.messages-container{background:#f8fafc;flex:1 1;overflow-y:auto;padding:1rem}.no-messages{align-items:center;display:flex;height:100%;justify-content:center}.no-messages-content{color:#666;padding:2rem;text-align:center}.no-messages-content h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.no-messages-content p{font-size:1rem;margin:.25rem 0}.group-welcome{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:12px;margin-top:1rem!important;padding:1rem}.messages-list{display:flex;flex-direction:column;gap:.5rem}.date-separator{color:#666;font-size:.85rem;margin:1rem 0;position:relative;text-align:center}.date-separator:before{background:#0000001a;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.date-separator span{background:#f8fafc;padding:0 1rem;position:relative;z-index:2}.typing-indicator{align-items:center;align-self:flex-start;background:#fffc;border-radius:20px;display:flex;gap:.5rem;margin:.5rem 0;max-width:200px;padding:.5rem 1rem}.typing-dots{display:flex;gap:.25rem}.typing-dots span{animation:typing 1.4s ease-in-out infinite;background:#667eea;border-radius:50%;height:8px;width:8px}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.typing-text{color:#666;font-size:.85rem}.message-composer-container{background:#fff;border-top:1px solid #0000001a;padding:1rem}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#667eea80}@media (max-width:768px){.chat-header{padding:.75rem 1rem}.group-avatar{font-size:1.25rem;height:40px;width:40px}.group-name{font-size:1.1rem}.group-stats{flex-direction:column;gap:.5rem}.message-composer-container,.messages-container{padding:.75rem}}@media (max-width:480px){.chat-header{padding:.5rem}.group-avatar{height:36px;width:36px}.group-avatar,.group-name{font-size:1rem}.group-description{font-size:.8rem}.btn-group-info,.btn-group-members,.btn-group-settings{font-size:1rem;height:36px;width:36px}.message-composer-container,.messages-container{padding:.5rem}}.group-messages-module{background:#667eea;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:auto;min-height:calc(100vh - 70px)}.group-messages-module.loading{align-items:center;justify-content:center}.loading-spinner{color:#fff;font-size:1.2rem;text-align:center}.group-messages-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-bottom:1px solid #fff3;padding:1rem 2rem;text-align:center}.group-messages-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0;text-shadow:0 2px 4px #0000004d}.group-messages-header p{color:#fffc;font-size:.9rem;font-weight:300;margin:.5rem 0 0}.group-messages-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;display:flex;flex:1 1;overflow:visible}.no-group-selected{align-items:center;background:#ffffff05;display:flex;flex:1 1;justify-content:center}.no-group-content{color:#ffffffb3;padding:2rem;text-align:center}.no-group-content h3{color:#fff;font-size:1.2rem;margin-bottom:.5rem}.no-group-content p{font-size:.9rem;margin:.25rem 0}.group-messages-module::-webkit-scrollbar{width:8px}.group-messages-module::-webkit-scrollbar-track{background:#0000}.group-messages-module::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.group-messages-module::-webkit-scrollbar-thumb:hover{background:#ffffff80}.group-messages-module{position:relative;z-index:1}.chat-interface,.group-list,.group-messages-content,.group-messages-module{overflow:visible}@media (max-width:768px){.group-messages-header{padding:.75rem 1rem}.group-messages-header h2{font-size:1.5rem}.group-messages-header p{font-size:.9rem}.group-messages-content{flex-direction:column}}@media (max-width:480px){.group-messages-header h2{font-size:1.25rem}.group-messages-header p{font-size:.8rem}}.sports-days-module{margin:0 auto;max-width:1200px;padding:20px}.sports-navigation{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.nav-tab{background:#f5f5f5;border-radius:8px;padding:10px 20px;transition:all .3s ease}.nav-tab:hover{background:#e0e0e0}.nav-tab.active{background:#007bff}.sports-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px}.sports-dashboard h2{color:#333;font-size:24px;margin-bottom:20px}.sports-dashboard>p{color:#666;font-size:16px;margin-bottom:30px}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #0000001a;color:#fff}.stat-card h3{opacity:.9}.upcoming-events h3{color:#333;font-size:20px;margin-bottom:20px}.events-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.event-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.event-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.event-header h4{color:#333;font-size:18px;margin:0}.event-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.event-status.scheduled{background:#e3f2fd;color:#1976d2}.event-status.ongoing{background:#e8f5e8;color:#388e3c}.event-status.completed{background:#f3e5f5;color:#7b1fa2}.event-status.cancelled{background:#ffebee;color:#d32f2f}.event-details p{color:#666;font-size:14px;margin:8px 0}.event-actions{display:flex;gap:10px;margin-top:20px}.recent-announcements{margin-top:40px}.recent-announcements h3{color:#333;font-size:20px;margin-bottom:20px}.announcements-preview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.announcement-preview-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:transform .2s ease}.announcement-preview-card:hover{transform:translateY(-2px)}.announcement-preview-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.announcement-preview-header h4{color:#333;flex:1 1;font-size:16px;margin:0 15px 0 0}.priority-badge{border-radius:12px;font-size:11px;padding:4px 8px;white-space:nowrap}.priority-badge.urgent{background:#ffebee;color:#d32f2f}.priority-badge.high{background:#fff3e0;color:#f57c00}.priority-badge.normal{background:#e8f5e8;color:#388e3c}.priority-badge.low{background:#f3e5f5;color:#7b1fa2}.announcement-preview-content{color:#666;font-size:14px;line-height:1.5;margin-bottom:15px}.announcement-preview-footer{align-items:center;color:#999;display:flex;font-size:12px;justify-content:space-between}.announcement-type{padding:4px 8px}.sports-events h2{color:#333;font-size:24px;margin-bottom:20px}.view-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.view-header h2{margin:0}.events-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.events-table td,.events-table th{border-bottom:1px solid #f0f0f0;padding:15px;text-align:left}.events-table th{background:#f8f9fa;color:#333;font-size:14px;font-weight:600}.events-table td{color:#666;font-size:14px}.event-name-en{color:#999;font-size:12px;margin-top:4px}.sports-registration h2{color:#333;font-size:24px;margin-bottom:20px}.registration-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.registration-table td,.registration-table th{border-bottom:1px solid #f0f0f0;font-size:13px;padding:12px;text-align:left}.registration-table th{background:#f8f9fa;color:#333;font-weight:600}.registration-table td{color:#666}.sports-results h2{color:#333;font-size:24px;margin-bottom:20px}.results-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr}.results-summary h3{color:#333;font-size:20px;margin-bottom:20px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.result-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.result-card h4{color:#333;font-size:16px;margin:0 0 15px}.result-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:15px;padding:10px 0}.result-item:last-child{border-bottom:none}.position{font-size:20px;min-width:30px}.student-name{color:#333;flex:1 1}.result-time{color:#666;font-weight:600}.results-actions{background:#f8f9fa;border-radius:12px;padding:20px}.results-actions h3{color:#333;font-size:18px;margin-bottom:15px}.results-actions ul{list-style:none;margin:0;padding:0}.results-actions li{border-bottom:1px solid #e0e0e0;color:#666;font-size:14px;padding:8px 0}.results-actions li:last-child{border-bottom:none}.sports-announcements h2{color:#333;font-size:24px;margin-bottom:20px}.announcements-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr}.announcements-list{display:flex;flex-direction:column;gap:20px}.announcement-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:transform .2s ease}.announcement-card:hover{transform:translateY(-2px)}.announcement-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.announcement-header h4{color:#333;flex:1 1;font-size:18px;margin:0 15px 0 0}.announcement-meta{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.announcement-body p{color:#666;font-size:14px;line-height:1.6;margin-bottom:15px}.announcement-tags{display:flex;flex-wrap:wrap;gap:10px}.announcement-type{background:#f5f5f5;color:#666}.announcement-type,.target-audience{border-radius:8px;font-size:12px;padding:6px 12px}.target-audience{background:#e3f2fd;color:#1976d2}.announcements-actions{background:#f8f9fa;border-radius:12px;padding:20px}.announcements-actions h3{color:#333;font-size:18px;margin-bottom:15px}.announcements-actions ul{list-style:none;margin:0;padding:0}.announcements-actions li{border-bottom:1px solid #e0e0e0;color:#666;font-size:14px;padding:8px 0}.announcements-actions li:last-child{border-bottom:none}.sports-loading{padding:60px 20px;text-align:center}.loading-spinner{border-top-color:#007bff;height:50px;width:50px}.sports-loading p{color:#666;font-size:16px}.sports-error{padding:60px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:20px}.sports-error h3{color:#d32f2f;font-size:20px;margin-bottom:15px}.sports-error p{color:#666;font-size:16px;margin-bottom:25px}.btn{display:inline-block;padding:10px 20px;text-align:center}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3}.btn-secondary:hover{background:#545b62}.btn-back{background:#f8f9fa;border:1px solid #dee2e6;color:#333}.btn-back:hover{background:#e9ecef}.btn-small{font-size:12px;padding:6px 12px}.action-buttons{gap:8px}.module-footer{margin-top:30px;text-align:center}@media (max-width:768px){.sports-days-module{padding:15px}.sports-navigation{flex-direction:column}.nav-tab{text-align:center}.dashboard-stats{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.events-grid{grid-template-columns:1fr}.announcements-content,.results-content{gap:20px;grid-template-columns:1fr}.view-header{align-items:stretch;flex-direction:column;gap:15px}.view-header h2{text-align:center}.events-table,.registration-table{font-size:12px}.events-table td,.events-table th,.registration-table td,.registration-table th{padding:8px}.action-buttons,.event-actions{flex-direction:column;gap:5px}.btn-small{font-size:11px;padding:8px 12px}}@media (max-width:480px){.sports-days-module{padding:10px}.sports-content{padding:15px}.dashboard-stats{grid-template-columns:1fr}.stat-card{padding:15px}.stat-number{font-size:28px}.announcement-card,.announcement-preview-card,.event-card,.result-card{padding:15px}.announcement-header,.announcement-preview-header{align-items:flex-start;flex-direction:column;gap:10px}.announcement-meta{align-items:flex-start}}.timetable-settings{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.settings-header{border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:30px}.settings-header h2{font-size:2.2rem;font-weight:600;margin:0 0 10px}.settings-header p{font-size:1.1rem;margin:0;opacity:.9}.message.info{background-color:#d1ecf1}.settings-content{gap:30px}.config-section{box-shadow:0 4px 20px #00000014;padding:25px}.config-section h3{border-bottom:2px solid #e9ecef;font-size:1.4rem;font-weight:600;padding-bottom:10px}.time-slots-table{border:1px solid #e9ecef;border-radius:8px}.time-slots-table th{font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:15px 12px}.time-slots-table td{padding:12px}.day-override{background:#f8f9fa;margin-bottom:20px;padding:20px}.day-override h4{font-size:1.2rem;font-weight:600;margin:0 0 15px}.override-controls{margin-bottom:20px}.override-controls label{font-weight:500;gap:10px}.override-controls input[type=checkbox]{height:18px;width:18px}.override-details{grid-gap:15px;border:1px solid #dee2e6;border-radius:6px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:15px}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{opacity:.6}.config-preview{background:#2c3e50;border-radius:8px;color:#ecf0f1;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;max-height:400px;overflow-x:auto;overflow-y:auto;padding:20px}@media (max-width:768px){.timetable-settings{padding:15px}.settings-header{padding:20px}.settings-header h2{font-size:1.8rem}.config-section{padding:20px}.time-slots-table{font-size:.9rem}.form-input.small{width:120px}.action-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}}@media (max-width:480px){.time-slots-table td,.time-slots-table th{padding:8px 6px}.form-input.small{padding:6px 8px;width:100px}}.setup-toggle-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.setup-toggle-btn{align-items:center;border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.setup-toggle-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.setup-toggle-btn:hover:before{left:100%}.setup-toggle-btn:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.setup-toggle-btn:active{transform:translateY(0)}.setup-toggle-btn.app-setup{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.setup-toggle-btn.app-setup:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.setup-toggle-btn.timetable-setup{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.setup-toggle-btn.timetable-setup:hover{background:linear-gradient(135deg,#4f46e5,#4338ca)}.setup-toggle-btn.debug-data{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.setup-toggle-btn.debug-data:hover{background:linear-gradient(135deg,#d97706,#b45309)}.setup-toggle-btn.settings{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.setup-toggle-btn.settings:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.action-buttons-container{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.action-btn{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;gap:.5rem;min-width:140px;padding:.875rem 1.75rem;transform:translateY(0)}.action-btn:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}.action-btn:disabled,.action-btn:disabled:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(0)}.action-btn.create-tables{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.action-btn.create-tables:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.action-btn.insert-data{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn.insert-data:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.action-btn.complete-setup{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.action-btn.complete-setup:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.action-btn.refresh-status{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.action-btn.refresh-status:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#374151)}.action-btn.loading{color:#0000;position:relative}.action-btn.loading:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@media (max-width:768px){.setup-toggle-buttons{flex-direction:column;gap:.5rem}.setup-toggle-btn{justify-content:center;width:100%}.action-buttons-container{flex-direction:column;gap:.75rem}.action-btn{min-width:auto;width:100%}}@media (max-width:480px){.setup-toggle-btn{font-size:.8rem;padding:.625rem 1.25rem}.action-btn{font-size:.8rem;padding:.75rem 1.5rem}}.loading-container{background:linear-gradient(135deg,#dbeafe,#fff 50%,#e0e7ff);min-height:100vh}.loading-spinner-container{position:relative}.loading-spinner-outer{border:4px solid #dbeafe;border-radius:50%;margin:0 auto 1.5rem}.loading-spinner-inner,.loading-spinner-outer{animation:spin 1s linear infinite;height:4rem;width:4rem}.loading-spinner-inner{border:4px solid #3b82f6;border-radius:50%;border-top-color:#0000;left:50%;position:absolute;top:0;transform:translateX(-50%)}.loading-text{color:#4b5563;font-size:1.125rem;font-weight:500}.loading-subtext{color:#6b7280;font-size:.875rem;margin-top:.5rem}.error-container{background:linear-gradient(135deg,#dbeafe,#fff 50%,#e0e7ff);min-height:100vh}.error-content{margin:0 auto;max-width:28rem;text-align:center}.error-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:2rem}.error-icon{color:#ef4444;font-size:2.25rem;margin-bottom:1rem}.error-title{color:#1f2937;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.error-message{margin-bottom:1.5rem}.error-button{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff;padding:.75rem 1.5rem;transform:translateY(0);transition:all .2s}.error-button:hover{background:linear-gradient(90deg,#1d4ed8,#1e40af);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.main-container{background:linear-gradient(135deg,#dbeafe,#fff 50%,#e0e7ff);min-height:100vh}.header-container{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;position:relative}.header-gradient{background:linear-gradient(90deg,#3b82f60d,#6366f10d);inset:0;position:absolute}.header-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.header-main{align-items:center;display:flex;justify-content:space-between}.header-left{gap:1rem}.header-icon{background:linear-gradient(135deg,#3b82f6,#4f46e5);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:.75rem}.header-icon span{font-size:1.5rem}.header-text h1{background:linear-gradient(90deg,#1d4ed8,#4f46e5);background-clip:text;-webkit-background-clip:text;color:#0000;font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.header-text p{color:#4b5563;font-size:1.125rem}.back-button{background:linear-gradient(90deg,#6b7280,#4b5563);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;gap:.5rem;padding:.75rem 1.5rem;transform:translateY(0)}.back-button:hover{background:linear-gradient(90deg,#4b5563,#374151);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.back-button span:first-child{transition:transform .2s}.back-button:hover span:first-child{transform:translateX(-4px)}.navigation{display:flex;gap:.5rem;margin-top:1.5rem}.nav-button{border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transform:translateY(0);transition:all .2s}.nav-button.active{background:linear-gradient(to right,var(--color-from),var(--color-to))}.nav-button.inactive{background:#fff;border:1px solid #d1d5db;color:#374151}.nav-button.inactive:hover{background:#f9fafb;border-color:#9ca3af}.nav-button:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.nav-button span:first-child{transition:transform .2s}.nav-button:hover span:first-child{transform:scale(1.1)}.content-container{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.selected-item-container{margin-bottom:1.5rem}.back-to-list-button{align-items:center;background:linear-gradient(90deg,#6b7280,#4b5563);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff;display:inline-flex;padding:.75rem 1.5rem;transform:translateY(0);transition:all .2s}.back-to-list-button:hover{background:linear-gradient(90deg,#4b5563,#374151);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.back-to-list-button span:first-child{margin-right:.5rem;transition:transform .2s}.back-to-list-button:hover span:first-child{transform:translateX(-4px)}.timetable-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden}.classes-4x6-grid{margin-bottom:1rem}.grid-4-cols{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.students-6col-grid,.teachers-4col-grid{margin-bottom:1rem}.grid-6-cols{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(6,1fr)}.grid-1-cols{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(1,1fr)}@media (min-width:768px){.grid-1-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-1-cols{grid-template-columns:repeat(3,1fr)}}.item-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(0)}.item-card:hover{border-color:#d1d5db;box-shadow:0 25px 50px -12px #00000040;transform:translateY(-4px)}.item-card.class-card-compact{min-height:200px}.item-card.teacher-card-compact{min-height:220px}.item-card.student-card-compact{min-height:180px}.card-content{padding:1rem}.card-header{margin-bottom:.75rem}.card-icon-container{border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:.5rem;transition:transform .2s}.item-card:hover .card-icon-container{transform:scale(1.1)}.card-icon-container.class{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.card-icon-container.teacher{background:linear-gradient(135deg,#10b981,#059669)}.card-icon-container.student{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-icon{color:#fff;font-size:.875rem}.card-icon.large{font-size:1.125rem}.elective-badge{background:linear-gradient(90deg,#f3e8ff,#e9d5ff);border-radius:9999px;box-shadow:0 1px 2px 0 #0000000d;color:#6b21a8;font-weight:600}.card-title-section{margin-bottom:.75rem;text-align:center}.card-title{color:#1f2937;font-size:1.125rem;font-weight:700;margin-bottom:.25rem;transition:color .2s}.item-card:hover .card-title{color:#111827}.card-subtitle{color:#4b5563;font-size:.875rem}.card-details{display:flex;flex-direction:column;font-size:.875rem;gap:.5rem}.card-detail-row{align-items:center;color:#4b5563;display:flex;gap:.5rem;justify-content:center}.card-detail-row.compact{font-size:.75rem;gap:.25rem}.card-detail-icon{color:#3b82f6}.card-detail-icon.emerald{color:#10b981}.card-detail-icon.purple{color:#8b5cf6}.card-detail-text{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.subjects-display{background:#ecfdf5;color:#374151}.elective-subjects-display,.subjects-display{border-radius:.5rem;font-size:.75rem;padding:.25rem .5rem;text-align:center}.elective-subjects-display{background:#faf5ff;color:#6b21a8}.card-footer{border-top:1px solid #f3f4f6;margin-top:.75rem;padding-top:.75rem}.card-footer-text{color:#6b7280;font-size:.75rem;text-align:center}.card-footer-compact{border-top:1px solid #f3f4f6;margin-top:.5rem;padding-top:.5rem}.card-footer-text-compact{color:#6b7280;font-size:.75rem;text-align:center}.elective-management{margin-bottom:1.5rem}.elective-title{color:#1f2937;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.fallback-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(1,1fr)}@media (min-width:768px){.fallback-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.fallback-grid{grid-template-columns:repeat(3,1fr)}}.fallback-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;cursor:pointer;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.fallback-card:hover{border-color:#d1d5db;box-shadow:0 25px 50px -12px #00000040;transform:translateY(-4px)}.fallback-card-content{padding:1.5rem}.fallback-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.fallback-card-left{align-items:center;display:flex;gap:.75rem}.fallback-card-icon-container{border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:.5rem;transition:transform .2s}.fallback-card-icon-container.class{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.fallback-card-icon-container.teacher{background:linear-gradient(135deg,#10b981,#059669)}.fallback-card-icon-container.student{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.fallback-card:hover .fallback-card-icon-container{transform:scale(1.1)}.fallback-card-title{color:#1f2937;font-size:1.125rem;font-weight:700;transition:color .2s}.fallback-card:hover .fallback-card-title{color:#111827}.fallback-card-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.fallback-card-footer-text{color:#6b7280;font-size:.75rem}.fallback-card-arrow{color:#9ca3af;transition:color .2s}.fallback-card:hover .fallback-card-arrow{color:#4b5563}.timetable-container{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe);background-size:400% 400%;min-height:100vh;position:relative}.timetable-container:before{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:0}.timetable-container>*{position:relative;z-index:1}.timetable-header{animation:headerGradient 8s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4 25%,#45b7d1 50%,#96ceb4 75%,#feca57);background-size:300% 300%;border-bottom:3px solid #fff3;box-shadow:0 15px 45px #ff6b6b4d;color:#fff;overflow:hidden;position:relative}.timetable-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.05' fill-rule='evenodd'%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Ccircle cx='51' cy='9' r='2'/%3E%3Ccircle cx='9' cy='51' r='2'/%3E%3Ccircle cx='51' cy='51' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.timetable-header>*{position:relative;z-index:2}.timetable-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}.timetable-nav-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;cursor:pointer;font-weight:600;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.timetable-nav-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.timetable-nav-button:hover:before{left:100%}.timetable-nav-button.active{background:#3b82f6!important;border-color:#3b82f6!important;box-shadow:0 8px 25px #3b82f64d!important;color:#fff!important}.timetable-nav-button.active:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 12px 35px #3b82f666!important;transform:translateY(-2px)}.timetable-nav-button:not(.active){background:#ffffff1a;border-color:#fff3;color:#fff}.timetable-nav-button:not(.active):hover{background:#fff3;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.timetable-content{max-width:80rem;padding:1.5rem 1rem}.timetable-grid{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #fffc;border-radius:20px;box-shadow:0 20px 60px #0000001a;margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative}.timetable-grid:before{animation:cardGradient 6s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.timetable-table{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 25px #0000001a;min-width:100%}.timetable-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #5a6fd8;color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.025em;min-width:12rem;padding:1rem;text-align:left;text-shadow:0 1px 2px #0000001a}.timetable-table td{padding:.75rem;transition:all .2s ease}.timetable-table tr:nth-child(2n){background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.timetable-table tr:nth-child(odd){background:#fff}.timetable-table tr:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 15px #3b82f61a;transform:scale(1.01)}.timetable-cell{border-radius:8px;display:flex;flex-direction:column;gap:.5rem;min-height:4rem;overflow:hidden;padding:.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.timetable-cell:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.timetable-cell:hover:before{left:100%}.timetable-cell.core{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;box-shadow:0 4px 15px #3b82f633}.timetable-cell.core:hover{box-shadow:0 8px 25px #3b82f64d;transform:translateY(-2px)}.timetable-cell.elective{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:2px solid #8b5cf6;box-shadow:0 4px 15px #8b5cf633}.timetable-cell.elective:hover{box-shadow:0 8px 25px #8b5cf64d;transform:translateY(-2px)}.timetable-subject{color:#1e40af;font-size:.8rem;font-weight:700;letter-spacing:.025em;line-height:1.3;text-shadow:0 1px 2px #0000001a}.timetable-classroom{background:#ffffffb3;color:#6b7280;font-weight:500}.timetable-classroom,.timetable-teacher{border-radius:4px;display:inline-block;font-size:.75rem;padding:2px 6px}.timetable-teacher{background:#10b9811a;color:#059669;font-weight:600}.timetable-type-badge{border-radius:.25rem;font-size:.75rem;font-weight:700;margin-bottom:.25rem;padding:.125rem .25rem;text-align:center}.timetable-type-badge.core{background-color:#dbeafe;color:#1e40af}.timetable-type-badge.elective{background-color:#ede9fe;color:#7c3aed}.timetable-multiple-subjects{display:flex;flex-direction:column;gap:.25rem;max-height:8rem;overflow-y:auto}.timetable-multiple-subject{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.25rem;padding:.25rem}.timetable-legend{background-color:#fefce8;border:1px solid #fde047;border-radius:.5rem;margin-top:1rem;padding:1rem}.timetable-legend h4{color:#92400e;font-weight:600;margin-bottom:.5rem}.timetable-legend p{color:#92400e;font-size:.875rem;margin-bottom:.25rem}.timetable-legend p:last-child{margin-bottom:0}.timetable-legend strong{font-weight:700}.item-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.item-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #0000;border-radius:16px;box-shadow:0 8px 25px #0000001a;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.item-card:before{animation:cardGradient 4s ease infinite;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899,#f59e0b);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.item-card:hover{border-color:#3b82f6;box-shadow:0 20px 40px #3b82f633;transform:translateY(-8px) scale(1.02)}.item-card h3{color:#1f2937;font-weight:600;margin-bottom:.5rem}.item-card .item-info{color:#6b7280;font-size:.875rem}.elective-badge{background-color:#f3e8ff;border-radius:.25rem;color:#7c3aed;font-size:.75rem;margin-left:.5rem;padding:.25rem .5rem}.elective-info{color:#7c3aed;font-size:.75rem;margin-top:.25rem}.search-filter{border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1.5rem;padding:1rem}.search-filter .filter-row{display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.search-filter .filter-row{flex-direction:row}}.search-filter input{border:1px solid #d1d5db;border-radius:.5rem;flex:1 1;font-size:.875rem;padding:.5rem 1rem}.search-filter input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.search-filter select{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.5rem 1rem;width:100%}@media (min-width:640px){.search-filter select{width:12rem}}.search-filter select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.statistics-panel{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;overflow:hidden;padding:24px;position:relative}.statistics-panel:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#10b981);content:"";height:4px;left:0;position:absolute;right:0;top:0}.statistics-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:20px;position:relative;z-index:1}.statistics-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width:599px){.statistics-grid{gap:12px;grid-template-columns:1fr}}.statistics-item{background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;justify-content:center;min-height:100px;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.statistics-item:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:3px;left:0;position:absolute;right:0;top:0}.statistics-item:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.statistics-label{color:#64748b;font-size:.875rem;font-weight:500;line-height:1.4;margin-bottom:8px}.statistics-value{color:#1e293b;font-size:1.5rem;font-weight:700;line-height:1.2}.statistics-array{color:#475569;font-size:.875rem;font-weight:500;line-height:1.4}.elective-selector{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1rem;padding:1rem}.elective-selector h4{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.elective-form{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.elective-form .form-group{display:flex;flex-direction:column}.elective-form label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.elective-form select{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.5rem .75rem}.elective-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.elective-form .form-actions{align-items:center;display:flex;justify-content:space-between;margin-top:1rem}.elective-form .current-info{color:#6b7280;font-size:.875rem}.elective-form button{align-items:center;background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.elective-form button:hover:not(:disabled){background-color:#2563eb}.elective-form button:disabled{background-color:#d1d5db;cursor:not-allowed}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #fff;border-top-color:#0000;display:inline-block;height:1rem;width:1rem}.error-message{background-color:#fef2f2;border-radius:.5rem;padding:1rem}.error-message .icon{font-size:1.25rem;margin-bottom:1rem}.error-message button{background-color:#3b82f6;border-radius:.5rem;color:#fff;margin-top:1rem;padding:.5rem 1rem}.error-message button:hover{background-color:#2563eb}.classes-4x6-grid{max-width:100%;width:100%}.classes-4x6-grid .grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);width:100%}.class-card-compact{display:flex;flex-direction:column;justify-content:space-between;min-height:200px}.class-card-compact:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.teachers-4col-grid{max-width:100%;width:100%}.teachers-4col-grid .grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);width:100%}.teacher-card-compact{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.teacher-card-compact:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.students-6col-grid{max-width:100%;width:100%}.students-6col-grid .grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(6,1fr);width:100%}.student-card-compact{display:flex;flex-direction:column;justify-content:space-between;min-height:160px}.student-card-compact:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.module-nav-container{flex-direction:column}.module-nav-btn{justify-content:flex-start;margin-bottom:8px;padding:16px 20px;text-align:left;width:100%}@media (max-width:1200px){.classes-4x6-grid .grid,.teachers-4col-grid .grid{grid-template-columns:repeat(3,1fr)}.students-6col-grid .grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.timetable-content{padding:1rem .5rem}.timetable-table{font-size:.75rem}.timetable-table td,.timetable-table th{padding:.25rem}.item-grid{grid-template-columns:1fr}.statistics-grid{grid-template-columns:repeat(2,1fr)}.elective-form{grid-template-columns:1fr}.classes-4x6-grid .grid{grid-template-columns:repeat(2,1fr)}.class-card-compact{min-height:180px}.teachers-4col-grid .grid{grid-template-columns:repeat(2,1fr)}.teacher-card-compact{min-height:200px}.students-6col-grid .grid{grid-template-columns:repeat(3,1fr)}.student-card-compact{min-height:140px}}@media (max-width:480px){.statistics-grid{grid-template-columns:1fr}.timetable-nav{flex-direction:column;gap:.5rem}.timetable-nav-button{text-align:center}.classes-4x6-grid .grid{grid-template-columns:1fr}.class-card-compact{min-height:160px}.teachers-4col-grid .grid{grid-template-columns:1fr}.teacher-card-compact{min-height:180px}.students-6col-grid .grid{grid-template-columns:repeat(2,1fr)}.student-card-compact{min-height:120px}}.timetable-override-manager{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1600px;padding:20px}.manager-header{border-radius:16px;box-shadow:0 8px 32px #00000026;margin-bottom:30px;padding:30px}.manager-header h2{font-size:2.2rem;font-weight:700;margin:0 0 15px;text-shadow:0 2px 4px #0000004d}.manager-header p{font-size:1.1rem;margin:8px 0;opacity:.95}.school-info{background:#ffffff1a;border-radius:20px;display:inline-block;font-family:Courier New,monospace;font-size:.9rem;margin-top:10px;opacity:.8;padding:8px 16px}.message{animation:slideIn .3s ease-out}.message.success{background-color:#d4edda}.message.error{background-color:#f8d7da}.manager-content{border-radius:16px;box-shadow:0 8px 32px #00000014;overflow:hidden}.tabs{background:#f8f9fa;border-bottom:2px solid #e9ecef}.tab{background:#0000;font-size:1.1rem;padding:20px}.manager-body{display:grid;grid-template-columns:1fr 2fr;min-height:600px}.left-panel{background:#f8f9fa;border-right:2px solid #e9ecef;padding:20px}.right-panel{background:#fff;padding:20px}.entity-list h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 20px}.entity-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.entity-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.entity-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.entity-card.selected{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-color:#667eea;box-shadow:0 8px 25px #667eea40}.entity-icon{font-size:2.5rem;margin-bottom:10px}.entity-info h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.entity-info p{color:#6c757d;font-size:.9rem;margin:0}.no-selection{color:#6c757d;padding:60px 20px}.no-selection h3{color:#495057;font-size:1.5rem;margin:0 0 15px}.override-config{max-height:600px;overflow-y:auto}.config-header{border-bottom:2px solid #e9ecef;margin-bottom:25px;padding-bottom:15px}.config-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 8px}.entity-type{color:#6c757d;font-size:.9rem;letter-spacing:.5px;margin:0;text-transform:uppercase}.config-sections{display:flex;flex-direction:column;gap:25px}.config-section{background:#f8f9fa;border-radius:12px;padding:20px}.config-section h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 15px}.config-section p{color:#6c757d;font-size:.9rem;margin:0 0 15px}.form-group label{align-items:center;cursor:pointer;display:flex;gap:10px}.form-group input[type=checkbox]{accent-color:#667eea}.form-group label:not(:has(input[type=checkbox])){display:block;margin-bottom:8px}.form-input{background-color:#fff}.form-input.small{font-size:.9rem;padding:8px 12px}.time-slot-overrides{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto}.time-slot-override{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:15px;padding:15px}.period-info{gap:4px}.period-number{color:#2c3e50;font-size:.9rem;font-weight:600}.period-time{color:#6c757d;font-size:.8rem}.override-controls{display:flex;flex:1 1;gap:10px}.day-overrides{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.day-override{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px}.day-override h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 15px}.day-override-details{border-top:1px solid #e9ecef;margin-top:15px;padding-top:15px}.action-buttons{border-top:2px solid #e9ecef;margin-top:30px;padding-top:20px}.btn{border-radius:8px;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:12px 30px}.btn-primary{box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#6c757d;box-shadow:0 4px 15px #6c757d4d}.btn-secondary:hover{background:#5a6268;box-shadow:0 6px 20px #6c757d66;transform:translateY(-2px)}.loading{font-size:1.2rem;padding:60px 20px}@media (max-width:1200px){.manager-body{grid-template-columns:1fr}.left-panel{border-bottom:2px solid #e9ecef;border-right:none}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:768px){.timetable-override-manager{padding:15px}.manager-header{padding:20px}.manager-header h2{font-size:1.8rem}.tabs{flex-direction:column}.tab{padding:15px}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.time-slot-override{align-items:flex-start;flex-direction:column}.override-controls{flex-wrap:wrap;width:100%}.form-input.small{width:100%}.action-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}}@media (max-width:480px){.entity-card{padding:15px}.entity-icon{font-size:2rem}.config-section{padding:15px}.day-overrides{grid-template-columns:1fr}}.class-teachers-view{background:#f8f9fa;min-height:100vh;padding:20px}.view-content{align-items:start;margin:0 auto;max-width:1400px;min-height:calc(100vh - 200px)}.classes-list{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;height:-webkit-fit-content;height:fit-content;padding:25px}.classes-list h4{align-items:center;color:#2c3e50;display:flex;font-size:20px;font-weight:700;gap:10px;margin:0 0 20px}.classes-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:500px;overflow-y:auto;padding-right:10px}.class-card{border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;justify-content:center;min-height:80px;padding:25px 20px;transition:all .3s ease}.class-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-3px)}.class-card.selected{background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border-color:#667eea;box-shadow:0 8px 25px #667eea33;transform:translateY(-2px)}.class-info h5{color:#2c3e50;font-size:20px;font-weight:700;margin:0 0 8px}.class-info p{color:#6c757d;font-size:14px;font-style:italic}.class-teachers-details{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;max-height:calc(100vh - 300px);min-height:500px;overflow-y:auto;padding:25px}.class-header{border-bottom:2px solid #f0f0f0;margin-bottom:25px;padding-bottom:20px}.class-header h4{color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 8px}.class-header p{color:#6c757d;font-size:14px;margin:0}.class-teachers-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.class-teachers-section h5{align-items:center;color:#2c3e50;display:flex;flex-shrink:0;font-size:18px;font-weight:600;gap:10px;margin:0 0 20px}.class-teachers-list{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto}.class-teacher-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:20px;transition:all .2s ease}.class-teacher-item:hover{background:#e9ecef;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateX(5px)}.teacher-role-info{align-items:center;display:flex;flex:1 1;gap:15px}.teacher-role-badge{border-radius:20px;box-shadow:0 2px 6px #00000026;color:#fff;font-size:12px;font-weight:700;min-width:100px;padding:8px 16px;text-align:center;text-transform:capitalize}.teacher-details h6{color:#2c3e50;font-size:16px;font-weight:700;margin:0 0 5px}.teacher-details p{color:#6c757d;font-size:13px;margin:0}.teacher-english{font-style:italic}.teacher-dept{color:#667eea;font-weight:600}.subject-info{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.subject-badge{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea4d}.class-badge,.subject-badge{border-radius:15px;padding:6px 12px}.class-badge{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 4px #28a7454d;color:#fff;font-size:11px}.no-teachers{color:#6c757d;font-style:italic;padding:40px}.loading{color:#667eea;font-weight:600}.error-message{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 15px #dc35454d}.error-message,.success-message{border-radius:10px;color:#fff;font-weight:600;padding:15px 20px}.success-message{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a7454d}@media (max-width:1200px){.view-content{gap:0;grid-template-columns:1fr}.classes-list{border-radius:15px 15px 0 0;margin-bottom:0}.class-teachers-details{border-radius:0 0 15px 15px;max-height:400px}}@media (max-width:1024px) and (min-width:769px){.view-content{min-height:calc(100vh - 180px)}.classes-grid{gap:18px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.class-card{min-height:120px;padding:35px 25px}.class-info h5{font-size:22px}.class-info p{font-size:15px}.class-teachers-details{max-height:calc(100vh - 250px);min-height:450px}}@media (max-width:768px){.class-teachers-view{padding:15px}.view-header{padding:20px}.view-header h3{font-size:24px}.view-content{gap:15px;grid-template-columns:1fr;min-height:auto}.classes-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.class-card{min-height:140px;padding:30px 20px}.class-teachers-details{max-height:calc(100vh - 400px);min-height:400px}.class-teacher-item{align-items:flex-start;flex-direction:column;gap:15px}.subject-info{align-items:flex-start;flex-direction:row;gap:10px}}@media (max-width:480px){.classes-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.class-card{min-height:120px;padding:25px 15px}.class-info h5{font-size:18px}.class-info p{font-size:13px}}.role-badge{display:inline-block;margin:2px}.class-master-role{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 4px #28a7454d;color:#fff}.vice-class-master-role{background:linear-gradient(135deg,#17a2b8,#6f42c1);box-shadow:0 2px 4px #17a2b84d;color:#fff}.add-subject-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;border-radius:15px;box-shadow:0 2px 4px #ff6b6b4d;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin:2px;padding:6px 12px;transition:all .3s ease}.add-subject-btn:hover{background:linear-gradient(135deg,#ee5a24,#ff6b6b);box-shadow:0 4px 8px #ff6b6b66;transform:translateY(-1px)}.add-subject-btn:active{transform:translateY(0)}.teacher-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:12px}.teacher-info strong{color:#333;display:block;font-size:16px;margin-bottom:4px}.teacher-role{background:#e9ecef;border-radius:10px;color:#666;display:inline-block;font-size:12px;padding:2px 8px}.committee-members-view{background:#f8f9fa;min-height:100vh;padding:20px}.view-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 25px #667eea4d}.committees-list{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow-y:auto;padding:20px}.committees-list h4{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.committees-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.committee-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s ease}.committee-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.committee-card:hover:before{transform:scaleX(1)}.committee-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea33;transform:translateY(-3px)}.committee-card.selected{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3;box-shadow:0 8px 25px #2196f34d}.committee-card.selected:before{background:linear-gradient(135deg,#2196f3,#1976d2);transform:scaleX(1)}.committee-info h5{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.committee-info p{color:#666;font-size:12px;margin:0}.committee-members-details{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow-y:auto;padding:20px}.committee-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.committee-header h4{align-items:center;color:#333;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0}.committee-header p{color:#666;font-size:14px;margin:5px 0 0}.add-member-btn{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a7454d}.add-member-btn:hover{background:linear-gradient(135deg,#20c997,#28a745);box-shadow:0 6px 20px #28a74566}.committee-members-section h5{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.committee-members-list{display:flex;flex-direction:column;gap:12px}.committee-member-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.committee-member-item:hover{background:#e9ecef;border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateY(-1px)}.role-badge{background:linear-gradient(135deg,#667eea,#764ba2)}.committee-badge,.role-badge{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.committee-badge{background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px;color:#fff;padding:4px 8px}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2)}.retry-btn{background:#667eea}.retry-btn:hover:not(:disabled){background:#5a6fd8}@media (max-width:768px){.view-content{grid-template-columns:1fr;height:auto}.committees-list{border-radius:0 0 15px 15px;max-height:400px}.committees-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.committee-card{padding:15px}.committee-member-item{align-items:flex-start;flex-direction:column;gap:15px}.member-actions{align-self:flex-end}}.subject-members-view{background:#f8f9fa;min-height:100vh;padding:20px}.view-header{background:linear-gradient(135deg,#28a745,#20c997);border-radius:15px;box-shadow:0 8px 25px #28a7454d;color:#fff;margin-bottom:20px;padding:30px;text-align:center}.view-header h3{font-size:28px;font-weight:700;margin:0 0 10px}.view-header p{font-size:16px;margin:0 0 20px;opacity:.9}.back-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:25px}.back-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.view-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;height:calc(100vh - 200px)}.subjects-list{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow-y:auto;padding:20px}.subjects-list h4{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.subjects-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.subject-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s ease}.subject-card:before{background:linear-gradient(135deg,#28a745,#20c997);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.subject-card:hover:before{transform:scaleX(1)}.subject-card:hover{border-color:#28a745;box-shadow:0 8px 25px #28a74533;transform:translateY(-3px)}.subject-card.selected{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;box-shadow:0 8px 25px #28a7454d}.subject-card.selected:before{background:linear-gradient(135deg,#28a745,#20c997);transform:scaleX(1)}.subject-info h5{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.subject-info p{color:#666;font-size:12px;margin:0}.subject-members-details{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow-y:auto;padding:20px}.subject-header{border-bottom:2px solid #e9ecef;margin-bottom:20px;padding-bottom:15px}.subject-header h4{align-items:center;color:#333;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0}.subject-header p{color:#666;font-size:14px;margin:5px 0 0}.add-member-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.add-member-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.subject-members-section h5{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.subject-members-list{display:flex;flex-direction:column;gap:12px}.subject-member-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.subject-member-item:hover{background:#e9ecef;border-color:#28a745;box-shadow:0 4px 15px #28a7451a;transform:translateY(-1px)}.member-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.member-details h6{color:#333;font-size:16px;font-weight:600;margin:0 0 4px}.member-english{color:#666;font-size:14px;font-style:italic;margin:0 0 4px}.member-dept{color:#888;font-size:12px;margin:0}.member-role-info{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.level-badge{background:linear-gradient(135deg,#ffc107,#ffb300);color:#212529}.level-badge,.subject-badge{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.subject-badge{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.member-actions{display:flex;gap:8px}.delete-btn,.edit-btn{align-items:center;border-radius:8px;display:flex;font-size:16px;height:36px;justify-content:center;padding:8px;transition:all .3s ease;width:36px}.edit-btn{background:#e3f2fd;color:#1976d2}.edit-btn:hover{background:#bbdefb;transform:scale(1.1)}.delete-btn{background:#ffebee;color:#d32f2f}.delete-btn:hover{background:#ffcdd2;transform:scale(1.1)}.loading{color:#666}.no-members{color:#666;padding:40px;text-align:center}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:20px;padding:15px}.modal-content{border-radius:15px;box-shadow:0 10px 30px #0000004d;max-height:80vh}.modal-header{background:linear-gradient(135deg,#28a745,#20c997);border-radius:15px 15px 0 0;color:#fff}.close-btn{font-size:18px}.close-btn:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:25px}.form-group label{color:#333}.form-input{box-sizing:border-box;padding:12px}.form-input:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.form-input:disabled{background:#f8f9fa}.loading-teachers,.no-teachers{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#666;display:flex;justify-content:space-between;padding:12px}.retry-btn{background:#28a745;padding:6px 12px}.retry-btn:hover:not(:disabled){background:#20c997}.retry-btn:disabled{opacity:.6}.modal-footer{background:#f8f9fa;border-radius:0 0 15px 15px;display:flex;gap:12px;justify-content:flex-end;padding:20px 25px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.cancel-btn:hover:not(:disabled){background:#5a6268}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#20c997,#28a745);transform:translateY(-1px)}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.view-content{grid-template-columns:1fr;height:auto}.subjects-list{border-radius:0 0 15px 15px;max-height:400px}.subjects-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.subject-card{padding:15px}.subject-member-item{align-items:flex-start;flex-direction:column;gap:15px}.member-actions{align-self:flex-end}}.single-class-parser-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.single-class-parser-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.parser-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 40px;position:relative;text-align:center}.parser-header h2{align-items:center;display:flex;font-size:28px;font-weight:700;gap:12px;justify-content:center;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.parser-header p{color:#ffffffe6;font-size:16px;font-weight:300;margin:0}.close-btn{background:#fff3;border-radius:50%;font-size:20px;height:40px;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.parser-content{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:30px 40px}.class-selection{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:25px;padding:25px}.class-selection label{color:#2c3e50;display:block;font-size:16px;font-weight:600;margin-bottom:12px}.class-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.class-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.file-upload-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:25px;padding:25px}.file-upload-section h4{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0 0 15px}.file-upload-area{background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border:2px dashed #667eea;border-radius:8px;cursor:pointer;padding:30px;text-align:center;transition:all .3s ease}.file-upload-area:hover{background:linear-gradient(135deg,#f0f4ff,#dde7ff);border-color:#5a67d8}.file-upload-area.dragover{background:linear-gradient(135deg,#e6f0ff,#cce0ff);border-color:#4c51bf;transform:scale(1.02)}.file-upload-icon{color:#667eea;font-size:48px;margin-bottom:15px}.file-upload-text{color:#4a5568;font-size:16px;font-weight:500;margin-bottom:8px}.file-upload-hint{color:#718096;font-size:14px;margin-bottom:15px}.file-format-info{background:#e6fffa;border:1px solid #81e6d9;border-radius:6px;margin-top:15px;padding:12px;text-align:left}.file-format-info h5{color:#234e52;font-size:14px;font-weight:600;margin:0 0 8px}.file-format-info p{color:#2d7d77;font-size:13px;line-height:1.4;margin:0}.file-input{display:none}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.upload-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.message{align-items:center;display:flex;gap:10px;padding:15px 20px}.message.info{background:#d1ecf1;border:1px solid #bee5eb}.parser-controls{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #0000000d;flex-wrap:wrap;justify-content:space-between;margin-bottom:25px;padding:20px}.control-left,.parser-controls{align-items:center;display:flex;gap:15px}.select-all-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:20px;box-shadow:0 3px 10px #007bff4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.select-all-btn:hover{box-shadow:0 5px 15px #007bff66;transform:translateY(-1px)}.selection-counter{background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#6c757d;font-size:14px;font-weight:500;padding:8px 15px}.save-btn{background:linear-gradient(135deg,#28a745,#20c997);border-radius:25px;box-shadow:0 4px 15px #28a7454d;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.save-btn:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.save-btn:disabled{background:#6c757d}.assignments-list{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.assignment-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;gap:15px;padding:20px;transition:all .3s ease}.assignment-item:last-child{border-bottom:none}.assignment-item.selected{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-left:4px solid #28a745}.assignment-item.duplicate{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left:4px solid #ffc107}.assignment-checkbox{accent-color:#28a745;cursor:pointer;height:18px;margin-top:2px;width:18px}.assignment-content{flex:1 1}.assignment-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.assignment-type-badge{box-shadow:0 2px 4px #0000001a}.assignment-type-badge.class_master{background:linear-gradient(135deg,#28a745,#20c997)}.assignment-type-badge.vice_class_master{background:linear-gradient(135deg,#ffc107,#ffb300);color:#212529}.assignment-type-badge.subject_teacher{background:linear-gradient(135deg,#007bff,#0056b3)}.assignment-badge{letter-spacing:.5px;text-transform:uppercase}.assignment-badge.class-master-teacher{background:linear-gradient(135deg,#ffc107,#ffb300);color:#212529}.assignment-badge.duplicate{background:linear-gradient(135deg,#fd7e14,#e55a00)}.assignment-badge.needs-update{animation:pulse 2s infinite;background:linear-gradient(135deg,#ffa726,#ff9800);box-shadow:0 2px 4px #ffa7264d;color:#fff}.assignment-details{grid-gap:8px;display:grid;font-size:14px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.assignment-detail{display:flex;flex-direction:column;gap:2px}.assignment-detail-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.assignment-detail-value{color:#2c3e50;font-weight:500}.loading-container{color:#6c757d;font-size:16px;gap:15px;padding:40px}.loading-spinner{border:3px solid #e9ecef;height:32px;width:32px}.edit-assignment-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;box-shadow:0 2px 8px #007bff4d;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;padding:8px 12px;transition:all .3s ease}.edit-assignment-btn:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-1px)}.edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.edit-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.edit-modal-header h3{font-size:20px;font-weight:600;margin:0}.close-edit-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:30px;justify-content:center;transition:all .3s ease;width:30px}.close-edit-btn:hover{background:#ffffff4d;transform:scale(1.1)}.edit-modal-content{flex:1 1;overflow-y:auto;padding:25px}.edit-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#2c3e50}.form-input{border-radius:6px;padding:10px 12px}.form-input:focus{box-shadow:0 0 0 3px #667eea1a}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:16px;width:16px}.loading-teachers{background:#f8f9fa;border:2px solid #e9ecef;border-radius:6px;color:#6c757d;font-style:italic}.loading-teachers,.no-teachers{padding:10px 12px;text-align:center}.no-teachers{background:#fff3cd;border:2px solid #ffeaa7;border-radius:6px;color:#856404;display:flex;flex-direction:column;gap:10px}.retry-btn{align-self:center;background:linear-gradient(135deg,#007bff,#0056b3);border-radius:6px;font-size:12px;font-weight:600;padding:8px 16px;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.retry-btn:hover:not(:disabled){box-shadow:0 3px 8px #007bff4d;transform:translateY(-1px)}.retry-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.edit-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 25px}.cancel-edit-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.cancel-edit-btn:hover{background:#545b62;transform:translateY(-1px)}.save-edit-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;box-shadow:0 3px 10px #28a7454d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.save-edit-btn:hover{box-shadow:0 5px 15px #28a74566;transform:translateY(-1px)}@media (max-width:768px){.single-class-parser-modal{padding:10px}.parser-header{padding:20px}.parser-header h2{font-size:24px}.parser-content{padding:20px}.parser-controls{align-items:stretch;flex-direction:column}.control-left{justify-content:center}.assignment-details{grid-template-columns:1fr}.assignment-item{flex-direction:column;gap:10px}.assignment-checkbox{align-self:flex-start}.edit-modal{margin:10px;max-width:95%}.edit-modal-content{padding:20px}.edit-modal-footer{flex-direction:column}.cancel-edit-btn,.save-edit-btn{width:100%}}@media (max-width:480px){.parser-header h2{flex-direction:column;font-size:20px;gap:8px}.assignment-header{align-items:flex-start;flex-direction:column;gap:8px}}.teacher-assignments-manager{background:#f8f9fa;margin:0;max-width:100%;min-height:100vh;padding:0}.manager-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0;box-shadow:0 4px 20px #0000001a;color:#fff;margin-bottom:0;padding:30px 40px;text-align:center}.manager-header h3{color:#fff;font-size:28px;font-weight:600;margin-bottom:10px;text-shadow:0 2px 4px #0000001a}.manager-header p{color:#ffffffe6;font-size:16px;font-weight:300;margin-bottom:25px}.view-mode-controls{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:20px 0}.view-mode-btn{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.view-mode-btn:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 15px #fff3;transform:translateY(-2px)}.parsing-controls{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:0}.parse-classes-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:25px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;letter-spacing:.5px;padding:15px 30px;text-transform:uppercase;transition:all .3s ease}.parse-classes-btn:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.parse-classes-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.parsing-progress{align-items:center;display:flex;gap:10px;min-width:200px}.progress-bar{background:#e9ecef;flex:1 1}.progress-fill{background:#28a745;transition:width .3s ease}.error-message{color:#721c24;text-align:center}.message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px;text-align:center}.message.success{background:#d4edda;border:1px solid #c3e6cb}.message.error{background:#f8d7da;border:1px solid #f5c6cb}.parsing-stats{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:30px;padding:20px}.parsing-stats h4{color:#495057;margin:0 0 15px;text-align:center}.stats-grid{grid-gap:15px;gap:15px}.stat-card{border-radius:8px;padding:15px}.stat-card h5{color:#6c757d;font-size:14px;font-weight:500;margin:0 0 8px}.stat-number{color:#007bff;font-size:24px}.manager-content{grid-gap:0;background:#fff;display:grid;gap:0;grid-template-columns:1fr 1fr;margin:0;min-height:calc(100vh - 200px);padding:0}.teachers-list{background:#f8f9fa;border-right:1px solid #e9ecef;padding:30px}.teachers-list h4{align-items:center;color:#2c3e50;display:flex;font-size:20px;font-weight:600;gap:10px;margin-bottom:25px}.teachers-grid{grid-gap:12px;gap:12px;grid-template-columns:1fr;max-height:calc(100vh - 300px);overflow-y:auto;padding-right:8px}.teacher-card{border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex-direction:column;gap:12px;min-height:120px;transition:all .3s ease}.teacher-card:hover{border-color:#667eea;box-shadow:0 4px 20px #667eea26;transform:translateY(-2px)}.teacher-card.selected{background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border-color:#667eea;box-shadow:0 4px 20px #667eea33;transform:translateY(-1px)}.teacher-info{display:flex;flex-direction:column;gap:6px}.teacher-info h5{color:#2c3e50;font-size:18px;font-weight:700;line-height:1.2;margin:0}.teacher-english-name{color:#6c757d;font-size:14px;font-style:italic;font-weight:400;margin:0}.teacher-department{background:#667eea1a;color:#667eea;font-size:12px;font-weight:600}.teacher-department,.teacher-position{border-radius:15px;display:inline-block;margin:0;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.teacher-position{background:#28a7451a;color:#28a745;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.teacher-assignments-summary{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}.assignment-count{background:linear-gradient(135deg,#6c757d,#495057);min-width:60px;text-align:center}.assignment-badge,.assignment-count{border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#fff;font-size:10px;font-weight:700;padding:4px 10px}.assignment-badge{text-transform:capitalize;white-space:nowrap}.more-assignments{color:#6c757d;font-size:10px;font-style:italic;font-weight:500}.teacher-details{background:#fff;border:none;border-radius:0;box-shadow:-2px 0 10px #0000000d;max-height:calc(100vh - 200px);overflow-y:auto;padding:30px}.teacher-header{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.teacher-header h4{align-items:center;color:#2c3e50;display:flex;font-size:24px;font-weight:600;gap:10px;margin:0}.teacher-subtitle{color:#6c757d;font-size:16px;font-weight:400;margin:8px 0 0}.add-assignment-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:25px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.add-assignment-btn:hover{box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.add-assignment-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:20px}.add-assignment-form h5{color:#495057;font-size:16px;margin:0 0 15px}.form-input,.form-select,.form-textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-textarea{min-height:80px;resize:vertical}.checkbox-label{margin-top:10px}.form-actions{gap:10px;margin-top:20px}.submit-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.submit-btn:hover{background:#0056b3}.cancel-btn{background:#6c757d;font-weight:600;padding:10px 20px}.cancel-btn:hover{background:#545b62}.current-assignments h5{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0 0 20px}.no-assignments{background:#f8f9fa;border:1px dashed #dee2e6;border-radius:8px;color:#6c757d;font-style:italic;padding:20px;text-align:center}.assignments-list{display:flex;flex-direction:column;gap:12px}.assignment-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 1px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:8px;min-height:60px;padding:16px;transition:all .2s ease}.assignment-item:hover{background:#f8f9fa;border-color:#667eea;box-shadow:0 2px 8px #667eea1a;transform:translateX(2px)}.assignment-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.assignment-type-badge{border-radius:15px;box-shadow:0 1px 3px #00000026;color:#fff;font-size:11px;font-weight:700;min-width:80px;padding:6px 12px;text-align:center;text-transform:capitalize}.assignment-class,.assignment-committee,.assignment-level,.assignment-subject{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:#495057;font-size:11px;font-weight:600;padding:4px 10px}.assignment-primary{background:linear-gradient(135deg,#ffc107,#ffb300);border-radius:12px;box-shadow:0 1px 3px #ffc1074d;color:#212529;font-size:10px;font-weight:700;padding:4px 10px}.delete-assignment-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;box-shadow:0 1px 3px #dc35454d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:32px;justify-content:center;padding:6px;transition:all .2s ease;width:32px}.delete-assignment-btn:hover{background:#c82333;box-shadow:0 2px 6px #dc354566;transform:scale(1.05)}@media (max-width:1200px){.manager-content{gap:0;grid-template-columns:1fr}.teachers-list{border-bottom:1px solid #e9ecef;border-right:none}.teachers-grid{max-height:300px}.teacher-details{max-height:400px}}@media (max-width:768px){.teacher-assignments-manager{padding:15px}.parsing-controls{flex-direction:column;gap:15px}.teacher-header{align-items:stretch;flex-direction:column}.add-assignment-btn{width:100%}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.assignment-info{align-items:flex-start;flex-direction:column;gap:5px}.assignment-item{align-items:stretch;flex-direction:column;gap:10px}.delete-assignment-btn{align-self:flex-end}.stats-grid{grid-template-columns:repeat(2,1fr)}}.parsing-algorithm-settings{margin:0 auto;max-width:1200px;padding:20px}.settings-header{border-bottom:2px solid #e5e7eb;padding-bottom:20px}.header-top{gap:15px;margin-bottom:10px}.settings-header h2{color:#1f2937;font-size:28px;margin:0}.settings-header p{color:#6b7280;font-size:16px;margin:5px 0}.tenant-info{color:#9ca3af;font-size:14px}.tab-navigation{border-bottom:1px solid #e5e7eb;gap:5px;margin-bottom:30px}.tab{padding:12px 20px}.tab:hover{background:#f9fafb}.tab.active{background:#eff6ff}.overview-header{margin-bottom:40px;text-align:center}.overview-header h3{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:10px}.overview-subtitle{color:#6b7280;font-size:16px;margin:0}.rules-header{margin-bottom:30px;text-align:center}.rules-header h3{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:10px}.rules-subtitle{color:#6b7280;font-size:16px;margin:0}.testing-header{margin-bottom:30px;text-align:center}.testing-header h3{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:10px}.testing-subtitle{color:#6b7280;font-size:16px;margin:0}.overview-section h3{color:#1f2937;font-size:24px;margin-bottom:25px}.overview-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.overview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .3s ease}.overview-card.enhanced{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d;overflow:hidden;position:relative}.overview-card.enhanced:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.card-icon{display:block;font-size:24px;margin-bottom:10px}.check-icon{font-size:14px;margin-right:8px}.format-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.format-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.format-badge.teacher{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.format-badge.class{background:linear-gradient(135deg,#10b981,#047857)}.parsing-modes{margin-bottom:40px}.parsing-modes h4{color:#2d3748;font-size:20px;margin-bottom:20px;text-align:center}.modes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.mode-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.mode-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.mode-card.teacher-mode{border-color:#3b82f6}.mode-card.class-mode{border-color:#10b981}.mode-header{margin-bottom:15px}.mode-icon{display:block;font-size:32px;margin-bottom:10px}.mode-header h5{color:#1f2937;font-size:18px;font-weight:600;margin:0}.mode-features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:15px}.feature-tag{background:#e5e7eb;border-radius:12px;color:#374151;font-size:11px;font-weight:500;padding:4px 10px}.mode-card.teacher-mode .feature-tag{background:#dbeafe;color:#1d4ed8}.mode-card.class-mode .feature-tag{background:#d1fae5;color:#047857}.overview-card h4{color:#2d3748;font-size:18px;margin-bottom:15px}.overview-card ul{list-style:none;margin:0;padding:0}.overview-card li{color:#4a5568;font-size:14px;padding:5px 0}.algorithm-flow{margin-bottom:30px}.algorithm-flow h4{color:#2d3748;font-size:20px;margin-bottom:20px}.flow-steps{flex-wrap:wrap;gap:15px}.flow-step,.flow-steps{align-items:center;display:flex}.flow-step{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;min-width:200px;padding:15px}.step-number{background:#3b82f6;height:30px;width:30px}.step-content h5{color:#2d3748;font-size:16px;margin:0 0 5px}.step-content p{color:#718096;font-size:12px}.flow-arrow{color:#a0aec0;font-size:20px;font-weight:700}.feature-highlights{margin-top:30px}.feature-highlights h4{color:#2d3748;font-size:20px;margin-bottom:20px}.highlights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.highlight-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.highlight-item h5{color:#2d3748;font-size:16px;margin-bottom:10px}.highlight-item p{color:#4a5568;font-size:14px;margin:0}.mode-selection,.test-mode-selection{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:25px}.mode-selection h4,.test-mode-selection h4{color:#1f2937;font-size:18px;margin-bottom:20px;text-align:center}.mode-toggle{gap:10px;margin-bottom:15px}.mode-btn,.mode-toggle{display:flex;justify-content:center}.mode-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;gap:8px;min-width:160px;padding:12px 20px;transition:all .3s ease}.mode-btn:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.mode-btn.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.mode-icon{font-size:16px}.mode-description{margin-top:15px;text-align:center}.mode-description p{color:#6b7280;font-size:14px;margin:0}.flow-step.enhanced{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.flow-step.enhanced:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.regex-examples{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:15px;padding:15px}.regex-examples h5{color:#374151;font-size:14px;margin-bottom:10px}.example-formats{display:flex;flex-direction:column;gap:8px}.example-formats code{background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#1f2937;font-family:Courier New,monospace;font-size:12px;padding:8px 12px}.rules-section h3{color:#1f2937;font-size:24px;margin-bottom:25px}.rule-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:40px;padding:25px}.rule-group h4{color:#2d3748;font-size:20px;margin-bottom:15px}.rule-description{color:#4a5568;font-size:14px;margin-bottom:15px}.regex-input-group{align-items:center;display:flex;gap:10px}.regex-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-family:monospace;font-size:14px;padding:10px}.validate-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px;white-space:nowrap}.validate-btn:hover{background:#059669}.role-patterns{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.pattern-section h5{color:#374151;font-size:16px;margin-bottom:15px}.pattern-input-group{align-items:center;display:flex;gap:8px;margin-bottom:10px}.pattern-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:14px;padding:8px}.remove-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px}.remove-btn:hover{background:#dc2626}.add-pattern-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px}.add-pattern-btn:hover{background:#2563eb}.subject-type-rules{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.type-section h5{color:#374151;font-size:16px;margin-bottom:15px}.rule-input-group{align-items:center;display:flex;gap:8px;margin-bottom:10px}.rule-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:14px;padding:8px}.add-rule-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px}.add-rule-btn:hover{background:#2563eb}.parsing-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.option-item{align-items:center;display:flex;gap:10px}.option-item label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px}.number-input{border:1px solid #d1d5db;border-radius:4px;padding:6px;width:80px}.testing-section h3{color:#1f2937;font-size:24px;margin-bottom:25px}.test-controls{grid-gap:25px;display:grid;gap:25px}.sample-files h4{color:#2d3748;font-size:18px;margin-bottom:15px}.sample-buttons{display:flex;flex-wrap:wrap;gap:15px}.sample-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.sample-btn:hover{background:#4f46e5}.test-input h4{color:#2d3748;font-size:18px;margin-bottom:15px}.test-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:monospace;font-size:14px;min-height:200px;padding:15px;resize:vertical;width:100%}.test-actions{align-items:center;gap:15px}.test-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s}.test-btn:hover:not(:disabled){background:#059669}.test-btn:disabled{background:#9ca3af;cursor:not-allowed}.clear-btn{background:#6b7280;border-radius:6px;transition:background-color .2s}.clear-btn:hover{background:#4b5563}.test-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:20px;padding:20px}.test-error h4{color:#dc2626;font-size:18px;margin-bottom:10px}.error-content{border:1px solid #fecaca;color:#dc2626;font-family:monospace;font-size:14px}.test-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-top:20px;padding:20px}.test-result h4{color:#16a34a;font-size:18px;margin-bottom:15px}.result-summary{border:1px solid #bbf7d0}.result-summary p{color:#374151;font-size:14px}.result-details h5{color:#2d3748;font-size:16px;margin-bottom:15px}.day-result{border:1px solid #e5e7eb;margin-bottom:20px}.day-result h6{color:#374151;font-size:14px;font-weight:600;margin-bottom:10px}.period-item{background:#f9fafb;font-size:12px;padding:8px}.period-info{color:#6b7280;font-weight:500}.period-subject{color:#1f2937;font-weight:600}.period-room{color:#059669}.period-teacher{color:#7c3aed}.period-type{border-radius:3px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.period-type.admin{background:#fef2f2;color:#dc2626}.period-type.elective{background:#f3e8ff;color:#7c3aed}.period-type.core{background:#eff6ff;color:#2563eb}.examples-header{margin-bottom:30px;text-align:center}.examples-header h3{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:10px}.examples-subtitle{color:#6b7280;font-size:16px;margin:0}.examples-mode-selection{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:25px}.examples-mode-selection h4{color:#1f2937;font-size:18px;margin-bottom:20px;text-align:center}.card-header{gap:12px}.card-header .card-icon{font-size:28px}.card-header h4{color:#1f2937;font-size:20px;font-weight:600;margin:0}.pattern-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin:10px 0;padding:15px}.pattern-box code{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-family:Courier New,monospace;font-size:13px;font-weight:500;padding:8px 12px}.pattern-desc{color:#6b7280;font-size:12px;font-style:italic}.examples-section h3{color:#1f2937;font-size:24px;margin-bottom:25px}.format-examples{grid-gap:25px;display:grid;gap:25px}.example-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:25px}.example-card h4{color:#2d3748;font-size:20px;margin-bottom:15px}.format-description p{color:#4a5568;font-size:14px;margin-bottom:20px}.format-patterns h5{color:#374151;font-size:16px;margin-bottom:10px}.format-patterns code{background:#e5e7eb;border-radius:4px;color:#1f2937;display:block;font-family:monospace;font-size:14px;margin:5px 0;padding:4px 8px}.format-example h5{color:#374151;font-size:16px;margin-bottom:10px}.example-content{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;font-family:monospace;font-size:12px;max-height:300px;overflow-x:auto;overflow-y:auto;padding:15px;white-space:pre-wrap}.rules-explanation h5{color:#374151;font-size:16px;margin-bottom:10px}.rules-explanation ul{list-style:none;margin:0;padding:0}.rules-explanation li{color:#4a5568;font-size:14px;padding:5px 0}.requirements-list h5{color:#374151;font-size:16px;margin-bottom:10px}.requirements-list ul{list-style:none;margin:0;padding:0}.requirements-list li{color:#4a5568;font-size:14px;padding:5px 0}.error-solutions{grid-gap:20px;display:grid;gap:20px}.error-item{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:15px}.error-item h5{color:#dc2626;font-size:16px;margin-bottom:10px}.error-item p{color:#4a5568;font-size:14px;margin:5px 0}.error-item strong{color:#374151}@media (max-width:768px){.parsing-algorithm-settings{padding:15px}.tab-navigation{flex-wrap:wrap}.tab{font-size:14px;padding:10px 15px}.settings-content{padding:20px}.overview-grid{grid-template-columns:1fr}.flow-steps{flex-direction:column}.flow-arrow{transform:rotate(90deg)}.highlights-grid,.parsing-options,.role-patterns,.subject-type-rules{grid-template-columns:1fr}.sample-buttons,.test-actions{flex-direction:column}.test-actions{align-items:stretch}.period-item{align-items:flex-start;flex-direction:column}}.school-timetable-settings{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.settings-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 12px 40px #00000026;color:#fff;margin-bottom:30px;padding:40px;text-align:center}.settings-header h2{font-size:2.5rem;font-weight:700;margin:0 0 15px;text-shadow:0 2px 4px #0000004d}.settings-header p{font-size:1.2rem;margin:8px 0;opacity:.95}.tenant-info{background:#ffffff1a;border-radius:20px;display:inline-block;font-family:Courier New,monospace;font-size:.9rem;margin-top:10px;opacity:.8;padding:8px 16px}.header-top{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.back-button{border:1px solid #ffffff4d;font-size:.9rem;padding:.5rem 1rem}.back-button:hover{border-color:#ffffff80}.message{animation:slideIn .4s ease-out;border-radius:12px;box-shadow:0 4px 12px #0000001a;font-size:1.1rem;font-weight:600;margin-bottom:25px;padding:20px 25px}.message.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #c3e6cb;color:#155724}.message.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #f5c6cb;color:#721c24}.message.info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:2px solid #bee5eb;color:#0c5460}.tab-navigation{background:#fff;border-radius:16px 16px 0 0;box-shadow:0 4px 20px #00000014;display:flex;margin-bottom:0;overflow:hidden}.tab{background:#f8f9fa;color:#6c757d;flex:1 1;font-size:1.2rem;font-weight:600;padding:20px 30px;transition:all .3s ease}.tab:hover{background:#e9ecef;color:#495057}.tab.active{background:#fff;border-bottom-color:#667eea;box-shadow:0 -2px 10px #0000001a;color:#667eea}.settings-content{border-radius:0 0 16px 16px;display:flex;flex-direction:column;gap:35px}.config-section,.settings-content{box-shadow:0 8px 32px #00000014;padding:30px}.config-section{background:#fff;border:1px solid #e9ecef;border-radius:16px;transition:all .3s ease}.config-section:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-2px)}.config-section h3{border-bottom:3px solid #667eea;color:#2c3e50;font-size:1.6rem;font-weight:700;margin:0 0 20px;padding-bottom:15px;position:relative}.config-section h3:after{background:linear-gradient(135deg,#667eea,#764ba2);bottom:-3px;content:"";height:3px;left:0;position:absolute;width:50px}.section-description{color:#6c757d;font-size:1.1rem;font-style:italic;line-height:1.6;margin-bottom:25px}.school-info{grid-gap:20px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:25px}.info-item{gap:8px}.info-item label{color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#2c3e50;font-size:1.1rem;font-weight:500}.form-group label{font-size:1rem;margin-bottom:10px}.form-input{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:1rem;padding:15px 20px;transition:all .3s ease;width:100%}.form-input:focus{background-color:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;transform:translateY(-1px)}.form-input.small{font-size:.95rem;padding:10px 15px;width:150px}.time-slots-table{border:2px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow-x:auto}.time-slots-table table{background:#fff;border-collapse:collapse;width:100%}.time-slots-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.8px;padding:20px 15px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.time-slots-table td{border-bottom:1px solid #e9ecef;padding:15px;transition:background-color .2s ease;vertical-align:middle}.time-slots-table tr:nth-child(2n){background-color:#f8f9fa}.time-slots-table tr:hover{background-color:#e3f2fd;transform:scale(1.01)}.day-override{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;margin-bottom:25px;padding:25px}.day-override h4{align-items:center;color:#495057;display:flex;font-size:1.3rem;font-weight:700;gap:10px;margin:0 0 20px}.day-override h4:before{content:"📅";font-size:1.5rem}.override-controls{margin-bottom:25px}.override-controls label{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:12px;padding:15px;transition:all .3s ease}.override-controls label:hover{background:#f8f9fa;border-color:#667eea;transform:translateY(-1px)}.override-controls input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.override-details{grid-gap:20px;background:#fff;border:2px solid #dee2e6;border-radius:10px;box-shadow:0 4px 15px #0000000d;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:25px}.action-buttons{gap:20px;justify-content:center;margin-top:40px}.btn{border-radius:12px;font-size:1.1rem;font-weight:700;letter-spacing:.8px;min-width:200px;overflow:hidden;padding:15px 40px;position:relative;text-transform:uppercase;transition:all .3s ease}.btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 20px #667eea66}.btn-primary:hover:not(:disabled){box-shadow:0 10px 30px #667eea99;transform:translateY(-3px)}.btn-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-secondary{background:linear-gradient(135deg,#6c757d,#495057);box-shadow:0 6px 20px #6c757d66}.btn-secondary:hover{background:linear-gradient(135deg,#495057,#343a40);box-shadow:0 10px 30px #6c757d99;transform:translateY(-3px)}.impact-info{background:linear-gradient(135deg,#e8f5e8,#d4edda);border:2px solid #c3e6cb}.impact-info h3{border-bottom-color:#28a745;color:#155724}.impact-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.impact-details p{background:#fff;border-left:4px solid #28a745;border-radius:8px;color:#155724;font-size:1rem;font-weight:500;margin:0;padding:15px}.loading{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000014;color:#6c757d;font-size:1.4rem;padding:80px 20px}@media (max-width:1200px){.school-timetable-settings{padding:15px}.settings-header{padding:30px 20px}.settings-header h2{font-size:2rem}.config-section{padding:25px 20px}}@media (max-width:768px){.settings-header h2{font-size:1.8rem}.settings-header p{font-size:1rem}.time-slots-table{font-size:.9rem}.form-input.small{width:120px}.action-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.impact-details,.override-details,.school-info{grid-template-columns:1fr}}@media (max-width:480px){.time-slots-table td,.time-slots-table th{padding:10px 8px}.form-input.small{padding:8px 10px;width:100px}.config-section,.settings-header{padding:20px 15px}}.parsing-test-section{padding:20px}.admin-access{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin:0 auto;max-width:400px;padding:30px;text-align:center}.admin-access h3{color:#495057;margin-bottom:15px}.admin-password-input{border:1px solid #ced4da;border-radius:4px;font-size:16px;margin-bottom:15px;padding:12px;width:100%}.admin-submit-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color .2s}.admin-submit-btn:hover{background:#0056b3}.parsing-test-content{margin:0 auto;max-width:1200px}.test-controls{background:#f8f9fa;border-radius:8px;padding:20px}.file-input-section,.test-controls{margin-bottom:20px}.load-sample-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:15px;padding:10px 20px}.load-sample-btn:hover{background:#218838}.file-content-textarea{border:1px solid #ced4da;border-radius:4px;font-family:Courier New,monospace;font-size:12px;line-height:1.4;padding:12px;resize:vertical;width:100%}.test-actions{display:flex;gap:10px}.test-parsing-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px}.test-parsing-btn:hover:not(:disabled){background:#0056b3}.test-parsing-btn:disabled{background:#6c757d;cursor:not-allowed}.clear-btn{background:#6c757d;font-size:16px;padding:12px 24px}.clear-btn:hover{background:#545b62}.parsing-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:20px;padding:20px}.parsing-error h3{color:#721c24;margin-bottom:10px}.error-content{background:#fff;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-family:Courier New,monospace;font-size:12px;overflow-x:auto;padding:15px;white-space:pre-wrap}.parsing-result{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:20px;padding:20px}.parsing-result h3{color:#155724;margin-bottom:15px}.result-summary{background:#fff;border:1px solid #c3e6cb;border-radius:4px;margin-bottom:20px;padding:15px}.result-summary p{font-size:16px;margin:5px 0}.result-details{margin-bottom:20px}.day-result{background:#fff;border:1px solid #c3e6cb;border-radius:4px;margin-bottom:15px;padding:15px}.day-result h5{color:#155724;font-size:18px;margin-bottom:10px}.periods-list{grid-gap:8px;display:grid;gap:8px}.period-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;flex-wrap:wrap;gap:10px;padding:10px}.period-info{color:#495057;font-weight:700;min-width:120px}.period-node{background:#007bff}.period-node,.period-subject{border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:2px 8px}.period-subject{background:#28a745}.period-classes{background:#ffc107;border-radius:12px;color:#212529;font-size:12px;padding:2px 8px}.period-rooms{background:#17a2b8}.period-rooms,.period-teachers{border-radius:12px;color:#fff;font-size:12px;padding:2px 8px}.period-teachers{background:#6f42c1}.raw-result{background:#fff;border:1px solid #c3e6cb;border-radius:4px;padding:15px}.raw-result h4{color:#155724;margin-bottom:10px}.json-content{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;font-family:Courier New,monospace;font-size:12px;max-height:400px;overflow-x:auto;overflow-y:auto;padding:15px;white-space:pre-wrap}.class-structure-section,.elective-system-section,.integration-section,.room-management-section,.teacher-roles-section{margin:0 auto;max-width:1200px;padding:20px}.class-summary,.elective-summary,.integration-status,.roles-summary,.rooms-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.status-card,.summary-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;text-align:center}.status-card h4,.summary-card h4{color:#495057;font-size:14px;font-weight:600;margin-bottom:10px}.status-card .count,.summary-card .count{color:#007bff;font-size:24px;font-weight:700}.status-indicator{border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px}.status-indicator.success{background:#d4edda;color:#155724}.status-text{color:#6c757d;font-size:14px}.add-class-form,.add-elective-form,.add-role-form,.add-room-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.form-row{grid-gap:15px;gap:15px;margin-bottom:15px}.form-input,.form-select{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.form-input:focus,.form-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.checkbox-label{color:#495057;font-size:14px;gap:8px}.add-class-btn,.add-elective-btn,.add-role-btn,.add-room-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s}.add-class-btn:hover,.add-elective-btn:hover,.add-role-btn:hover,.add-room-btn:hover{background:#218838}.roles-table,.rooms-table{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;font-weight:600}.table-header,.table-row{grid-template-columns:2fr 1fr 2fr 1fr;padding:15px}.table-row{align-items:center;border-bottom:1px solid #f1f3f4}.table-row:hover{background:#f8f9fa}.role-badge{background:#007bff}.role-badge,.room-type-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;text-transform:capitalize}.room-type-badge{background:#17a2b8}.room-code{color:#495057;font-family:Courier New,monospace;font-weight:700}.actions{display:flex;gap:5px}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;padding:5px;transition:background-color .2s}.edit-btn:hover{background:#e9ecef}.delete-btn:hover{background:#f8d7da}.class-management-tabs{display:flex;gap:10px;margin-bottom:20px}.sub-tab{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;padding:10px 20px;transition:all .2s}.sub-tab.active{background:#007bff;border-color:#007bff;color:#fff}.sub-tab:hover:not(.active){background:#e9ecef}.migration-tools{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.migration-actions{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.migration-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background-color .2s}.migration-btn.export{background:#28a745}.migration-btn.import{background:#17a2b8}.migration-btn.validate{background:#ffc107;color:#212529}.migration-btn.sync{background:#6f42c1}.migration-btn:hover{opacity:.9}.plans-list{grid-gap:15px;display:grid;gap:15px}.plan-card{border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:box-shadow .2s}.plan-card:hover{box-shadow:0 2px 8px #0000001a}.plan-header{margin-bottom:15px}.plan-header h4{color:#495057;margin:0}.plan-status{border-radius:12px;font-size:12px;font-weight:700;padding:4px 12px;text-transform:capitalize}.plan-status.draft{background:#fff3cd;color:#856404}.plan-status.review{background:#cce5ff;color:#004085}.plan-status.approved{background:#d4edda;color:#155724}.plan-status.migrated{background:#d1ecf1;color:#0c5460}.plan-details p{color:#6c757d;font-size:14px;margin:5px 0}.plan-actions{display:flex;gap:10px;margin-top:15px}.action-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:12px;padding:8px 16px}.action-btn:hover{background:#e9ecef}.action-btn.migrate{background:#28a745;border-color:#28a745;color:#fff}.action-btn.delete{background:#dc3545;border-color:#dc3545;color:#fff}@media (max-width:768px){.form-row,.table-header,.table-row{grid-template-columns:1fr}.table-header,.table-row{gap:10px}.class-summary,.elective-summary,.integration-status,.migration-actions,.roles-summary,.rooms-summary{grid-template-columns:1fr}}.timetable-planner-section{padding:20px}.planner-content{margin:0 auto;max-width:1200px}.planner-overview{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.planner-features{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.feature-card{border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.feature-card h4{color:#495057;font-size:18px;margin-bottom:15px}.feature-card ul{list-style:none;margin:0;padding:0}.feature-card li{color:#6c757d;padding:5px 0 5px 20px;position:relative}.feature-card li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.planner-workflow{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:20px}.workflow-steps{flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:20px}.workflow-step,.workflow-steps{align-items:center;display:flex}.workflow-step{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;flex:1 1;gap:15px;min-width:200px;padding:20px}.step-number{background:#007bff;font-size:18px;height:40px;width:40px}.step-content h4{color:#495057;font-size:16px;margin:0 0 5px}.step-content p{color:#6c757d;font-size:14px;margin:0}.workflow-arrow{color:#007bff;flex-shrink:0;font-size:24px;font-weight:700}.planner-tools{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:20px}.tools-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.tool-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;text-align:center}.tool-card h4{color:#495057;font-size:16px;margin-bottom:10px}.tool-card p{color:#6c757d;font-size:14px;margin-bottom:15px}.tool-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.tool-btn:hover{background:#0056b3}.planner-status{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px}.status-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.status-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:flex;justify-content:space-between;padding:10px 15px}.status-label{color:#495057;font-weight:500}.status-value{color:#007bff;font-weight:700}@media (max-width:768px){.workflow-steps{flex-direction:column}.workflow-arrow{transform:rotate(90deg)}.planner-features,.status-grid,.tools-grid{grid-template-columns:1fr}}.timetable-planner-page{animation:mainGradient 18s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe);background-size:400% 400%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:0;position:relative}.timetable-planner-page:before{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe6;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:0}.timetable-planner-page>*{position:relative;z-index:1}@keyframes mainGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.timetable-planner-header{align-items:center;animation:headerFlow 10s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4 25%,#45b7d1 50%,#96ceb4 75%,#feca57);background-size:300% 300%;border-bottom:3px solid #fff3;box-shadow:0 8px 25px #ff6b6b4d;color:#fff;display:flex;gap:16px;padding:12px 24px}.timetable-planner-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23fff' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E") repeat;bottom:0;opacity:.1;z-index:1}.timetable-planner-header>*{position:relative;z-index:2}.back-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none}.back-btn:hover{box-shadow:0 8px 25px #00000026;transform:translateX(-8px) scale(1.02)}.timetable-info h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f8f9ff);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;margin:0;text-shadow:0 2px 8px #0000001a}.timetable-subtitle{font-size:13px;font-weight:400;letter-spacing:.5px;margin:4px 0 0;opacity:.9}.timetable-tabs{-ms-overflow-style:none;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;display:flex;overflow-x:auto;padding:0 32px;scrollbar-width:none}.timetable-tabs::-webkit-scrollbar{display:none}.tab-btn{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:20px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.tab-btn:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:2px;left:50%;position:absolute;top:0;transform:translateX(-50%);transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.tab-btn:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#4338ca}.tab-btn:hover:before{width:100%}.tab-btn.active{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom-color:#4338ca;color:#4338ca;font-weight:600}.tab-btn.active:before{width:100%}.timetable-content{margin:0 auto;max-width:1400px;padding:32px}.overview-section{margin-bottom:40px}.overview-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.overview-card{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #0000;border-radius:20px;box-shadow:0 8px 30px #0000001a;overflow:hidden;padding:32px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.overview-card:before{animation:cardFlow 6s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.overview-card:hover{background:linear-gradient(135deg,#fff,#f0f9ff 50%,#e0f2fe);border-color:#3b82f6;box-shadow:0 25px 50px #3b82f633;transform:translateY(-12px) scale(1.05)}.overview-card:hover:before{opacity:1}.overview-card h3{color:#1e293b;font-size:20px;font-weight:600;letter-spacing:-.025em;margin-bottom:24px}.module-detail{align-items:center;display:flex;flex-direction:column;gap:12px}.module-name{font-size:24px;margin-bottom:8px}.module-description{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:20px;color:#64748b;display:inline-block;font-size:14px;font-weight:500;padding:8px 16px}.module-status{color:#059669;font-size:14px;font-weight:600;margin-top:8px}.no-data{font-size:16px}.subjects-overview{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.subject-item{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:20px;color:#1d4ed8;font-size:13px;font-weight:600;padding:8px 16px}.subject-item:hover{box-shadow:0 4px 12px #1d4ed826;transform:scale(1.05)}.stat-count{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#059669,#10b981);-webkit-background-clip:text;background-clip:text;color:#059669;display:block;font-size:48px;font-weight:800;line-height:1;margin-bottom:8px}.stat-count+p{color:#64748b;font-size:16px;font-weight:500;margin:8px 0 0}.module-section h3{color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.025em;margin-bottom:24px}.module-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.module-card{background:#fff;border:1px solid #f1f5f9;box-shadow:0 4px 20px #00000014}.module-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.module-card h4{border-bottom:2px solid #f1f5f9;color:#1e293b;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:16px}.module-steps{display:flex;flex-direction:column;gap:12px}.module-step{grid-gap:16px;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:16px;grid-template-columns:80px 1fr 100px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.module-step:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;transform:translateX(8px)}.module-step.completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e;color:#166534}.module-step.completed .step-name{font-style:italic;font-weight:500}.step-number{color:#64748b;letter-spacing:.5px;text-transform:uppercase}.step-name{color:#1e293b;font-size:15px;font-weight:600}.step-status{color:#3b82f6;font-size:12px;font-weight:600;letter-spacing:.5px;text-align:right;text-transform:uppercase}.settings-section h3{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:24px}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.setting-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;padding:24px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.setting-card:hover{border-color:#3b82f6;box-shadow:0 20px 40px #00000026;transform:translateY(-8px) scale(1.02)}.setting-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 25px #667eea4d;color:#fff;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.setting-id{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.setting-name{font-size:16px}input[type=number],input[type=text],select,textarea{background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{background:#fafbfc;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;gap:8px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 15px #3b82f64d;padding:12px 24px}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 25px #3b82f666}.btn-secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 4px 15px #64748b4d;padding:12px 24px}.btn-success{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 15px #0596694d;padding:12px 24px}.btn-gradient{animation:buttonFlow 5s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;border:2px solid #fff3;box-shadow:0 8px 25px #ff6b6b66;color:#fff;padding:12px 24px}.loading-spinner{color:#64748b;flex-direction:column;height:400px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f1f5f9;border-radius:50%;border-top-color:#3b82f6;height:48px;margin-bottom:24px;width:48px}.timetable-planner-error{padding:80px 32px}.timetable-planner-error button{border-radius:12px}@media (max-width:1024px){.timetable-planner-header{flex-direction:column;gap:12px;padding:10px 16px;text-align:center}.timetable-info h1{font-size:18px}.timetable-content{padding:24px}.overview-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.module-container{grid-template-columns:1fr}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.horizontal-module-nav{margin:12px;padding:12px}.module-nav-container{flex-direction:row;flex-wrap:wrap;gap:6px}.module-nav-btn{font-size:13px;max-width:140px;min-width:120px;padding:10px 12px}.main-content-container{margin:0 16px 16px}}@media (max-width:768px){.timetable-planner-header{padding:8px 12px}.timetable-info h1{font-size:16px}.timetable-tabs{padding:0 16px}.tab-btn{font-size:14px;padding:16px 20px}.overview-grid{grid-template-columns:1fr}.overview-card{padding:24px}.module-card{padding:20px}.module-step{gap:12px;grid-template-columns:70px 1fr}.step-status{display:none}.horizontal-module-nav{margin:8px;padding:8px}.module-nav-container{flex-direction:row;flex-wrap:wrap;gap:4px}.module-nav-btn{font-size:12px;max-width:120px;min-width:100px;padding:8px 10px}.main-content-container{margin:0 12px 12px}}@media (max-width:480px){.timetable-content{padding:12px}.overview-card{padding:20px}.module-card,.setting-card{padding:16px}.module-nav-container{gap:8px}.module-nav-btn{min-width:auto;padding:14px 20px;width:100%}.horizontal-module-nav{margin:8px;padding:8px}.module-nav-container{flex-direction:column;gap:6px}.module-nav-btn{justify-content:flex-start;max-width:100%;min-width:100%;padding:10px 12px}.main-content-container{margin:0 8px 8px}}.overview-card{animation:fadeInUp .6s ease-out}.overview-card:nth-child(2){animation-delay:.1s}.overview-card:nth-child(3){animation-delay:.2s}.overview-card:nth-child(4){animation-delay:.3s}:focus,button:focus{outline:2px solid #3b82f6;outline-offset:2px}.horizontal-module-nav{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:16px;padding:16px}.module-nav-header{border-bottom:2px solid #f1f5f9;margin-bottom:12px;padding-bottom:8px}.module-nav-title{color:#1f2937;font-size:18px;font-weight:700;margin:0}.module-nav-container{flex-direction:row;justify-content:center;margin-bottom:0;padding:0}.module-nav-btn{flex:1 1;font-size:14px;gap:8px;margin-bottom:0;max-width:160px;padding:12px 16px;text-align:center}.main-content-container{margin:0 24px 24px;padding:0}.header-content{justify-content:space-between;width:100%}.header-left,.header-right{align-items:center;display:flex;gap:16px}.welcome-text{color:#ffffffe6;font-size:14px;font-weight:500}.user-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;height:32px;justify-content:center;width:32px}.stat-content,.user-icon{align-items:center;display:flex}.stat-content{gap:16px}.stat-icon{border-radius:12px;box-shadow:0 4px 12px #0000001a;height:48px;width:48px}.stat-icon.purple{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.stat-details{flex:1 1}.stat-label{margin:4px 0 0}.stat-subtitle{color:#9ca3af;font-size:12px;font-weight:400;margin:2px 0 0}.timetable-planner-dashboard{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe);background-size:400% 400%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:24px;position:relative}.timetable-planner-dashboard:before{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:0}.timetable-planner-dashboard>*{position:relative;z-index:1}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.dashboard-header{animation:headerGradient 8s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4 25%,#45b7d1 50%,#96ceb4 75%,#feca57);background-size:300% 300%;border:2px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #ff6b6b4d;color:#fff;margin-bottom:32px;overflow:hidden;padding:40px;position:relative}@keyframes headerGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.dashboard-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.05' fill-rule='evenodd'%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Ccircle cx='51' cy='9' r='2'/%3E%3Ccircle cx='9' cy='51' r='2'/%3E%3Ccircle cx='51' cy='51' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.dashboard-header>*{position:relative;z-index:2}.header-main h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f8f9ff);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;margin:0 0 12px;text-shadow:0 2px 8px #0000001a}.header-main p{font-size:18px;font-weight:400;letter-spacing:.3px;margin:0;opacity:.9}.header-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:32px}.stat-card{background:linear-gradient(135deg,#ffffff40,#ffffff1a);border:2px solid #ffffff4d}.stat-card:before{background:linear-gradient(90deg,#0000,#fff3,#0000);height:100%;left:-100%;transition:left .5s;width:100%}.stat-card:hover:before{left:100%}.stat-card:hover{background:linear-gradient(135deg,#fff6,#fff3);border-color:#ffffff80;box-shadow:0 20px 40px #0003;transform:translateY(-8px) scale(1.05)}.stat-number{margin-bottom:8px;text-shadow:0 2px 4px #0000001a}.stat-label{letter-spacing:.5px;opacity:.9}.dashboard-controls{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px;padding:32px}.search-section{flex:1 1;min-width:320px}.search-input{font-family:inherit;padding:16px 24px}.search-input:focus{box-shadow:0 0 0 4px #3b82f61a}.filter-section{display:flex;flex-wrap:wrap;gap:16px}.sort-filter,.status-filter{background:#fff;border:2px solid #e2e8f0}.sort-filter:hover,.status-filter:hover{background:#f8fafc}.modules-dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:32px}.dashboard-module-card{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #0000;border-radius:20px;box-shadow:0 8px 32px #00000014;cursor:pointer;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-module-card:before{animation:cardGradient 6s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes cardGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.dashboard-module-card:hover{background:linear-gradient(135deg,#fff,#f0f9ff 50%,#e0f2fe);border-color:#3b82f6;box-shadow:0 25px 60px #3b82f633;transform:translateY(-12px) scale(1.02)}.dashboard-module-card:hover:before{transform:scaleX(1)}.card-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;padding-bottom:20px}.card-header,.card-stats{margin-bottom:24px}.stat-item{gap:12px;margin-bottom:12px}.stat-icon{color:#3b82f6;font-size:20px}.stat-value{color:#667eea;font-size:24px;font-weight:800;margin-right:8px}.card-settings{margin-bottom:28px}.setting-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;margin-bottom:12px;padding:12px 0}.setting-row:last-child{border-bottom:none}.setting-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;min-width:70px;text-transform:uppercase}.setting-name{flex:1 1}.setting-type{font-size:11px}.card-actions{text-align:center}.view-details-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 8px 25px #667eea4d;font-size:15px;padding:16px 32px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.view-details-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 12px 35px #667eea66;transform:translateY(-2px)}.module-detail-view{background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh;padding:24px}.detail-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;box-shadow:0 12px 40px #667eea33;color:#fff;display:flex;gap:24px;margin-bottom:32px;overflow:hidden;padding:40px;position:relative}.detail-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20C20 8.954 11.046 0 0 0v20h20z' fill='%23fff' fill-opacity='.05'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.detail-header>*{position:relative;z-index:2}.back-btn{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff26;border:1px solid #fff3;border-radius:50px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:16px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.back-btn:hover{background:#ffffff40;transform:translateX(-8px)}.module-info h1{font-size:32px;font-weight:800;margin:0;text-shadow:0 2px 8px #0000001a}.module-subtitle{font-size:16px;font-weight:400;margin:8px 0 0;opacity:.9}.detail-content{margin:0 auto;max-width:1400px}.detail-grid{grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:32px}.detail-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 8px 32px #00000014;padding:32px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.detail-card:hover{box-shadow:0 16px 40px #0000001f;transform:translateY(-4px)}.detail-card h3{color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.025em;margin-bottom:24px}.stat-display{display:flex;flex-direction:column;gap:12px}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#667eea;font-size:48px;font-weight:800}.stat-label{font-size:16px}.setting-info{gap:12px}.setting-name{font-size:24px;font-weight:700;letter-spacing:-.025em}.setting-type{background:#f1f5f9;border:1px solid #e2e8f0;font-size:14px;padding:8px 16px}.setting-status{color:#667eea;font-size:15px;font-weight:600;margin-top:8px}.no-data{color:#94a3b8;font-size:18px}.action-buttons{text-align:center}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 8px 25px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:220px;padding:20px 40px;transition:all .3s cubic-bezier(.4,0,.2,1)}.primary-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 15px 35px #667eea66;transform:translateY(-3px)}.workflow-progress{border-radius:24px;margin-bottom:28px}.workflow-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.workflow-title{font-size:28px;margin:0}.workflow-percentage{color:#667eea;font-size:20px;font-weight:700}.progress-bar-container{border-radius:20px;height:16px}.progress-bar{border-radius:20px}.workflow-steps{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step-circle{font-size:20px;height:60px;margin:0 auto 16px;width:60px}.step-circle.completed{box-shadow:0 8px 25px #667eea4d}.step-circle.current{box-shadow:0 8px 25px #f59e0b4d}.step-title{color:#1e293b;font-size:16px;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.step-description{color:#64748b;font-size:14px;font-weight:500}.stats-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:24px}.stat-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fffc;border-radius:20px;box-shadow:0 8px 32px #00000014;padding:28px}.stat-card:hover{box-shadow:0 16px 40px #0000001f;transform:translateY(-4px)}.stat-card .stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:3rem;font-weight:800;margin:0 0 12px;text-shadow:0 2px 4px #0000001a}.stat-card .stat-label{color:#64748b;font-size:1rem;font-weight:600;letter-spacing:.3px;margin:0;text-shadow:0 1px 2px #0000000d}.action-buttons{grid-gap:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:24px 0}.action-btn{border-radius:20px;box-shadow:0 8px 25px #00000026;flex-direction:column;font-size:.9rem;font-weight:700;min-height:120px;overflow:hidden;padding:24px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.action-btn:hover:before{left:100%}.action-btn i{font-size:1.8rem;margin-bottom:12px}.action-btn:hover{box-shadow:0 15px 35px #0003;transform:translateY(-6px) scale(1.02)}.action-btn:active{box-shadow:0 8px 20px #00000026;transform:translateY(-3px) scale(1.01)}.action-btn.preparation{background:linear-gradient(135deg,#10b981,#047857)}.action-btn.planner{background:linear-gradient(135deg,#f59e0b,#d97706)}.action-btn.settings{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.action-btn.generation{background:linear-gradient(135deg,#ec4899,#db2777)}.dashboard-loading,.module-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;height:400px;justify-content:center}.dashboard-error,.module-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:24px;color:#dc2626;padding:80px 32px;text-align:center}.dashboard-error button,.module-error button{background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:24px;padding:16px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-error button:hover,.module-error button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px)}.no-modules,.no-results{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 8px 32px #00000014;color:#64748b;padding:80px 32px;text-align:center}.no-results button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:20px;padding:16px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.no-results button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-2px)}@media (max-width:1024px){.timetable-planner-dashboard{padding:20px}.dashboard-header{padding:32px}.header-main h1{font-size:28px}.header-stats{gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-controls{align-items:stretch;flex-direction:column;gap:20px}.search-section{min-width:auto}.filter-section{justify-content:center}.modules-dashboard-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-module-card{padding:24px}.module-name{font-size:20px}.stats-container,.workflow-steps{grid-template-columns:1fr}.action-buttons{gap:16px;grid-template-columns:repeat(2,1fr)}.action-btn{font-size:.85rem;min-height:100px;padding:20px 12px}.action-btn i{font-size:1.5rem;margin-bottom:8px}}@media (max-width:768px){.dashboard-header{padding:24px}.header-main h1{font-size:24px}.header-main p{font-size:16px}.dashboard-module-card{padding:20px}.card-header{align-items:flex-start;flex-direction:column;gap:12px}.action-buttons{gap:12px;grid-template-columns:1fr}.action-btn{font-size:.8rem;min-height:90px;padding:18px 12px}.action-btn i{font-size:1.4rem;margin-bottom:8px}}@media (max-width:480px){.timetable-planner-dashboard{padding:16px}.dashboard-header{padding:20px}.header-main h1{font-size:20px}.header-main p{font-size:14px}.dashboard-module-card{padding:16px}.card-header{align-items:flex-start;flex-direction:column;gap:12px}.action-btn{font-size:.75rem;min-height:80px;padding:16px 10px}.action-btn i{font-size:1.2rem;margin-bottom:6px}}.dashboard-module-card{animation:slideInUp .6s ease-out}.dashboard-module-card:nth-child(2){animation-delay:.1s}.dashboard-module-card:nth-child(3){animation-delay:.2s}.dashboard-module-card:nth-child(4){animation-delay:.3s}.search-input{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e5e7eb;border-radius:50px;box-shadow:0 4px 15px #0000000d;color:#374151;font-weight:500;padding:16px 24px 16px 50px;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input:focus{box-shadow:0 0 0 4px #3b82f61a,0 8px 25px #3b82f626;transform:translateY(-2px)}.sort-filter,.status-filter{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e5e7eb;border-radius:50px;box-shadow:0 2px 8px #0000000d;color:#374151;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.sort-filter:hover,.status-filter:hover{background:#fff;border-color:#3b82f6;box-shadow:0 4px 15px #3b82f61a;transform:translateY(-2px)}.sort-filter:focus,.status-filter:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.action-btn:focus,.dashboard-module-card:focus,.module-nav-btn:focus{outline:3px solid #3b82f6;outline-offset:2px}@media (max-width:768px){.select-container{min-width:100%}.form-control-container{margin-bottom:16px}.control-container{margin-bottom:20px;padding:20px}.module-nav-container{gap:6px;margin-bottom:24px}.module-nav-btn{font-size:14px;gap:8px;min-width:120px;padding:12px 16px}.module-nav-icon{font-size:16px;height:18px;width:18px}.module-nav-english{font-size:11px}}@media (max-width:480px){.module-nav-container{flex-direction:column;gap:8px}.module-nav-btn{min-width:auto;padding:14px 20px;width:100%}}.timetable-demo-container{animation:demoGradient 20s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe);background-size:400% 400%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px;position:relative}.timetable-demo-container:before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:0}.timetable-demo-container>*{position:relative;z-index:1}@keyframes demoGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.demo-header{animation:headerPulse 6s ease infinite;background:linear-gradient(135deg,#ff9a9e,#fecfef 25%,#fecfef 50%,#fecfef 75%,#ff9a9e);background-size:300% 300%;border:3px solid #ffffff4d;border-radius:24px;box-shadow:0 20px 60px #ff9a9e66;color:#fff;margin-bottom:40px;overflow:hidden;padding:48px 40px;position:relative;text-align:center}@keyframes headerPulse{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.demo-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.05' fill-rule='evenodd'%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Ccircle cx='51' cy='9' r='2'/%3E%3Ccircle cx='9' cy='51' r='2'/%3E%3Ccircle cx='51' cy='51' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.demo-header>*{position:relative;z-index:2}.demo-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f8f9ff);-webkit-background-clip:text;background-clip:text;font-size:40px;font-weight:800;letter-spacing:-.025em;margin-bottom:16px;text-shadow:0 2px 8px #0000001a}.demo-header p{font-size:18px;font-weight:400;letter-spacing:.3px;margin:0;opacity:.9}.demo-section{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014;margin-bottom:40px;padding:32px}.demo-section h2{border-bottom:3px solid #f1f5f9;color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px;padding-bottom:16px;position:relative}.demo-section h2:after{background:linear-gradient(135deg,#667eea,#764ba2);bottom:-3px;content:"";height:3px;left:0;position:absolute;width:60px}.demo-section p{color:#64748b;font-size:16px;font-weight:500;line-height:1.6;margin-bottom:24px}.demo-controls{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014;display:flex;gap:24px;justify-content:center;margin:40px 0;padding:32px}.demo-btn{animation:buttonGradient 4s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;border:2px solid #fff3;border-radius:50px;box-shadow:0 12px 35px #ff6b6b66;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;min-width:160px;overflow:hidden;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes buttonGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.demo-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.demo-btn:hover:not(:disabled):before{left:100%}.demo-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 12px 35px #667eea66;transform:translateY(-3px)}.demo-btn:active:not(:disabled){box-shadow:0 6px 20px #667eea4d;transform:translateY(-1px)}.demo-btn:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.demo-btn:disabled:before{display:none}.demo-info{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014;margin-top:32px;padding:32px}.demo-info h3{border-bottom:3px solid #f1f5f9;color:#1e293b;font-size:24px;font-weight:700;letter-spacing:-.025em;margin-bottom:24px;padding-bottom:16px;position:relative}.demo-info h3:after{background:linear-gradient(135deg,#667eea,#764ba2);bottom:-3px;content:"";height:3px;left:0;position:absolute;width:60px}.demo-info ul{color:#475569;font-weight:500;line-height:1.8;padding-left:24px}.demo-info li{margin-bottom:12px;position:relative}.demo-info li::marker{color:#667eea;font-weight:700}.demo-info ul ul{margin-bottom:16px;margin-top:12px;padding-left:20px}.demo-info strong{color:#1e293b;font-weight:700}.timetable-workflow{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:40px 0}.workflow-step{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #0000;border-radius:20px;box-shadow:0 8px 32px #00000014;overflow:hidden;padding:32px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.workflow-step:before{animation:stepGradient 5s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}@keyframes stepGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.workflow-step:hover{background:linear-gradient(135deg,#fff,#f0f9ff 50%,#e0f2fe);border-color:#3b82f6;box-shadow:0 20px 50px #3b82f633;transform:translateY(-8px) scale(1.02)}.workflow-step:hover:before{transform:scaleX(1)}.workflow-step:after{color:#667eea;content:"→";font-size:28px;font-weight:800;position:absolute;right:-20px;text-shadow:0 2px 4px #0000001a;top:50%;transform:translateY(-50%);z-index:10}.workflow-step:last-child:after{display:none}.workflow-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 25px #667eea4d;color:#fff;display:flex;font-size:32px;height:80px;justify-content:center;margin:0 auto 20px;transition:all .3s ease;width:80px}.workflow-step:hover .workflow-icon{box-shadow:0 12px 35px #667eea66;transform:scale(1.1)}.workflow-title{color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px}.workflow-description{color:#64748b;font-size:14px;font-weight:500;line-height:1.5}.module-status-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:40px 0}.status-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.status-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.status-card:hover{box-shadow:0 16px 40px #0000001f;transform:translateY(-4px)}.status-card:hover:before{transform:scaleX(1)}.status-card.completed{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-left-color:#10b981}.status-card.in-progress{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left-color:#f59e0b}.status-card.pending{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-left-color:#6b7280}.status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.status-title{color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.025em;margin:0}.status-badge{border-radius:50px;box-shadow:0 2px 8px #0000001a;letter-spacing:.5px}.status-badge.completed{background:linear-gradient(135deg,#10b981,#059669)}.status-badge.in-progress{background:linear-gradient(135deg,#f59e0b,#d97706)}.status-badge.pending{background:linear-gradient(135deg,#6b7280,#4b5563)}.status-description{color:#475569;font-size:15px;font-weight:500;line-height:1.6;margin-bottom:20px}.status-progress{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:15px;box-shadow:inset 0 2px 4px #0000000f;height:12px;overflow:hidden}.progress-bar.completed{background:linear-gradient(135deg,#10b981,#059669)}.progress-bar.in-progress{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-showcase{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:40px 0}.feature-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 8px 32px #00000014;overflow:hidden;padding:32px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.feature-card:hover{box-shadow:0 20px 50px #00000026;transform:translateY(-12px) scale(1.02)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 12px 35px #667eea4d;color:#fff;display:flex;font-size:40px;height:100px;justify-content:center;margin:0 auto 24px;transition:all .3s ease;width:100px}.feature-card:hover .feature-icon{box-shadow:0 16px 45px #667eea66;transform:scale(1.1)}.feature-title{color:#1e293b;font-size:22px;font-weight:700;letter-spacing:-.025em;margin-bottom:16px}.feature-description{color:#64748b;font-size:15px;font-weight:500;line-height:1.6;margin-bottom:24px}.feature-list{color:#475569;font-size:14px;font-weight:500;text-align:left}.feature-list li{line-height:1.5;margin-bottom:12px;padding-left:24px;position:relative}.feature-list li:before{color:#10b981;content:"✓";font-size:16px;font-weight:800;left:0;position:absolute}@media (max-width:1024px){.timetable-demo-container{padding:20px}.demo-header{padding:40px 32px}.demo-header h1{font-size:32px}.demo-controls{align-items:center;flex-direction:column;gap:20px}.demo-btn{max-width:240px;width:100%}.timetable-workflow{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.module-status-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-showcase{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.demo-header{padding:32px 24px}.demo-header h1{font-size:28px}.demo-header p{font-size:16px}.demo-section{padding:24px}.demo-controls{gap:16px;padding:24px}.demo-btn{font-size:14px;min-width:140px;padding:14px 28px}.timetable-workflow{grid-template-columns:1fr}.workflow-step:after{display:none}.feature-showcase,.module-status-grid{grid-template-columns:1fr}}@media (max-width:480px){.timetable-demo-container{padding:16px}.demo-header{padding:24px 20px}.demo-header h1{font-size:24px}.demo-section h2{font-size:22px}.demo-section{padding:20px}.demo-info,.feature-card,.workflow-step{padding:24px}.feature-icon{font-size:32px;height:80px;width:80px}.module-nav-container{flex-direction:column;gap:8px}.module-nav-btn{min-width:auto;padding:14px 20px;width:100%}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.workflow-step{animation:slideInUp .6s ease-out}.workflow-step:nth-child(2){animation-delay:.1s}.workflow-step:nth-child(3){animation-delay:.2s}.workflow-step:nth-child(4){animation-delay:.3s}.feature-card{animation:slideInUp .6s ease-out}.feature-card:nth-child(2){animation-delay:.1s}.feature-card:nth-child(3){animation-delay:.2s}.demo-btn:focus,.feature-card:focus,.status-card:focus,.workflow-step:focus{outline:3px solid #3b82f6;outline-offset:2px}.btn-gradient,.btn-primary,.btn-secondary,.btn-success,.demo-btn,.primary-btn,.view-module-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 15px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.025em;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-gradient:before,.btn-primary:before,.btn-secondary:before,.btn-success:before,.demo-btn:before,.primary-btn:before,.view-module-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-gradient:hover:before,.btn-primary:hover:before,.btn-secondary:hover:before,.btn-success:hover:before,.demo-btn:hover:before,.primary-btn:hover:before,.view-module-btn:hover:before{left:100%}.btn-gradient:hover,.btn-primary:hover,.btn-secondary:hover,.btn-success:hover,.demo-btn:hover,.primary-btn:hover,.view-module-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-3px)}.btn-gradient:active,.btn-primary:active,.btn-secondary:active,.btn-success:active,.demo-btn:active,.primary-btn:active,.view-module-btn:active{box-shadow:0 4px 15px #3b82f64d;transform:translateY(-1px)}.demo-section:nth-child(2n){background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.demo-controls{background:linear-gradient(135deg,#fff,#f8fafc)}.action-card,.demo-btn,.view-module-btn{overflow:hidden;position:relative}.demo-btn:hover,.view-module-btn:hover{box-shadow:0 12px 35px #667eea66}.feature-card:hover,.status-card:hover,.workflow-step:hover{cursor:pointer}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}li,p{line-height:1.6}.demo-section+.demo-section{margin-top:32px}.feature-list{margin-top:16px}.status-description{margin-bottom:24px}.timetable-planner-view{animation:viewGradient 16s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe);background-size:400% 400%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:24px;position:relative}.timetable-planner-view:before{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:0}.timetable-planner-view>*{position:relative;z-index:1}@keyframes viewGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.timetable-planner-header{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #fffc;border-radius:24px;box-shadow:0 15px 45px #0000001a;margin-bottom:40px;overflow:hidden;padding:40px;position:relative;text-align:center}.timetable-planner-header:before{animation:headerFlow 7s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes headerFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.timetable-planner-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:32px;font-weight:800;letter-spacing:-.025em;margin-bottom:12px}.timetable-planner-header p{color:#64748b;font-size:18px;font-weight:500;letter-spacing:.3px}.modules-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:40px}.module-card{background:linear-gradient(135deg,#fff,#f8fafc 50%,#e2e8f0);border:2px solid #0000;border-radius:20px;box-shadow:0 12px 40px #0000001a;cursor:pointer;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.module-card:before{animation:cardFlow 8s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes cardFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.module-card:hover{background:linear-gradient(135deg,#fff,#f0f9ff 50%,#e0f2fe);border-color:#3b82f6;box-shadow:0 25px 60px #3b82f640;transform:translateY(-15px) scale(1.03)}.module-card:hover:before{transform:scaleX(1)}.module-header{border-bottom:2px solid #f1f5f9;padding-bottom:20px}.module-name{color:#1e293b;font-size:22px;font-weight:700;letter-spacing:-.025em;margin:0}.module-id{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 4px 15px #667eea4d;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.module-settings{margin-bottom:24px}.setting-section{margin-bottom:20px}.setting-section h4{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.setting-section h4:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:16px;width:4px}.setting-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.setting-name{color:#1e293b;font-size:15px;font-weight:600}.setting-type{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:20px;color:#64748b;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.3px;padding:4px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.no-assignment{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#94a3b8;font-size:14px;font-style:italic;padding:12px;text-align:center}.module-subjects{margin-bottom:24px}.module-subjects h4{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.module-subjects h4:before{background:linear-gradient(135deg,#10b981,#059669);border-radius:2px;content:"";height:16px;width:4px}.subjects-list{gap:12px}.subject-tag{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:20px;color:#1d4ed8;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.subject-tag:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd);box-shadow:0 4px 12px #1d4ed826;transform:scale(1.05)}.more-subjects{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;box-shadow:0 4px 15px #f59e0b4d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.more-subjects:hover{box-shadow:0 6px 20px #f59e0b66;transform:scale(1.05)}.module-actions{text-align:center}.view-module-btn{animation:buttonFlow 6s ease infinite;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);background-size:300% 300%;border:2px solid #fff3;border-radius:50px;box-shadow:0 12px 35px #ff6b6b66;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;padding:16px 32px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}@keyframes buttonFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.view-module-btn:hover{animation:buttonFlow 2s ease infinite;background:linear-gradient(135deg,#ff5252,#26c6da,#42a5f5,#66bb6a,#ffa726);background-size:300% 300%;box-shadow:0 20px 50px #ff6b6b99;transform:translateY(-5px) scale(1.05)}.view-module-btn:active{box-shadow:0 6px 20px #667eea4d;transform:translateY(-1px)}.timetable-planner-loading{align-items:center;background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;color:#64748b;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{border:5px solid #f1f5f9;height:60px;margin-bottom:24px;width:60px}.timetable-planner-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:20px;box-shadow:0 8px 32px #dc26261a;color:#dc2626;padding:60px 40px;text-align:center}.timetable-planner-error button{background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:50px;box-shadow:0 4px 15px #dc26264d;color:#fff;cursor:pointer;font-weight:600;margin-top:20px;padding:12px 24px;transition:all .3s ease}.timetable-planner-error button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 6px 20px #dc262666;transform:translateY(-2px)}.no-modules{color:#64748b;font-size:18px;padding:80px 32px;text-align:center}.no-modules,.workflow-progress{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #00000014}.workflow-progress{margin-bottom:32px;padding:32px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.progress-title{color:#1e293b;font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0}.progress-percentage{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:20px;color:#667eea;font-size:20px;font-weight:700;padding:8px 16px}.progress-bar-container{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:15px;box-shadow:inset 0 2px 4px #0000000f;height:12px;margin-bottom:24px;overflow:hidden}.progress-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;height:100%;position:relative;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-bar:after{animation:move 1s linear infinite;background-image:linear-gradient(45deg,#fff3 25%,#0000 0,#0000 50%,#fff3 0,#fff3 75%,#0000 0,#0000);background-size:20px 20px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes move{0%{background-position:0 0}to{background-position:20px 20px}}.progress-steps{justify-content:space-between}.progress-step,.progress-steps{align-items:center;display:flex;position:relative}.progress-step{flex:1 1;flex-direction:column;z-index:2}.progress-step:after{background:#e2e8f0;content:"";height:3px;left:50%;position:absolute;top:20px;width:100%;z-index:1}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:linear-gradient(135deg,#667eea,#764ba2)}.step-circle{align-items:center;background:#f1f5f9;border:3px solid #e2e8f0;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#64748b;display:flex;font-size:14px;font-weight:700;height:40px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px;z-index:2}.step-circle.completed{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.step-circle.current{animation:pulse 2s infinite;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b;box-shadow:0 4px 15px #f59e0b4d;color:#fff}.step-label{color:#64748b;font-size:13px;font-weight:500;line-height:1.3;margin-top:12px}.step-label.completed{color:#667eea;font-weight:700}.step-label.current{color:#f59e0b;font-weight:700}.module-status-indicators{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.status-indicator{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.status-indicator:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.status-indicator.completed{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-left-color:#10b981}.status-indicator.in-progress{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left-color:#f59e0b}.status-indicator.pending{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-left-color:#6b7280}.status-count{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:32px;font-weight:800;margin-bottom:8px}.status-label{color:#64748b;font-size:16px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.quick-actions{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.action-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 20px #00000014;cursor:pointer;overflow:hidden;padding:28px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.action-card:hover{border-color:#3b82f6;box-shadow:0 12px 40px #00000026;transform:translateY(-8px) scale(1.02)}.action-card:hover:before{transform:scaleX(1)}.action-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 25px #667eea4d;color:#fff;font-size:24px;height:64px;margin:0 auto 16px;transition:all .3s ease;width:64px}.action-card:hover .action-icon{box-shadow:0 12px 35px #667eea66;transform:scale(1.1)}.action-title{color:#1e293b;font-size:16px;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.action-description{color:#64748b;font-size:14px;font-weight:500;line-height:1.5}@media (max-width:1024px){.modules-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.module-card{padding:24px}.module-name{font-size:20px}.timetable-planner-header h2{font-size:28px}.progress-steps{flex-direction:column;gap:20px}.progress-step:after{display:none}.module-status-indicators,.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.timetable-planner-view{padding:20px}.timetable-planner-header{padding:32px 24px}.timetable-planner-header h2{font-size:24px}.modules-grid{gap:20px;grid-template-columns:1fr}.module-card{padding:20px}.module-header{align-items:flex-start;flex-direction:column;gap:12px}.setting-info{align-items:center;flex-direction:row;gap:12px}.module-status-indicators,.quick-actions{grid-template-columns:1fr}.workflow-progress{padding:24px}}@media (max-width:480px){.timetable-planner-view{padding:16px}.timetable-planner-header{padding:24px 20px}.timetable-planner-header h2{font-size:20px}.module-card{padding:16px}.workflow-progress{padding:20px}.module-nav-container{flex-direction:column;gap:8px}.module-nav-btn{min-width:auto;padding:14px 20px;width:100%}}.module-card{animation:fadeInUp .6s ease-out}.module-card:nth-child(2){animation-delay:.1s}.module-card:nth-child(3){animation-delay:.2s}.module-card:nth-child(4){animation-delay:.3s}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.action-card:focus,.module-card:focus,.view-module-btn:focus{outline:3px solid #3b82f6;outline-offset:2px}.form-control-container{margin-bottom:20px;position:relative}.form-control-label{color:#374151;display:block;font-size:14px;font-weight:600;letter-spacing:.025em;margin-bottom:8px}.select-container{display:inline-block;min-width:200px;width:100%}.select-wrapper{background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 4px 15px #0000000d;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.select-wrapper:hover{box-shadow:0 8px 25px #3b82f626;transform:translateY(-2px)}.select-wrapper:focus-within{box-shadow:0 0 0 4px #3b82f61a}select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#374151;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;padding:16px 50px 16px 20px;width:100%}select,select:focus{outline:none}.select-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid #6b7280;height:0;right:20px;transition:all .3s ease;width:0}.select-wrapper:hover .select-arrow{border-top-color:#3b82f6}.select-wrapper:focus-within .select-arrow{border-top-color:#3b82f6;transform:translateY(-50%) rotate(180deg)}.btn-gradient,.btn-primary,.btn-secondary,.btn-success,.demo-btn,.primary-btn,.view-details-btn,.view-module-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 15px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.025em;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-gradient:before,.btn-primary:before,.btn-secondary:before,.btn-success:before,.demo-btn:before,.primary-btn:before,.view-details-btn:before,.view-module-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-gradient:hover:before,.btn-primary:hover:before,.btn-secondary:hover:before,.btn-success:hover:before,.demo-btn:hover:before,.primary-btn:hover:before,.view-details-btn:hover:before,.view-module-btn:hover:before{left:100%}.btn-gradient:hover,.btn-primary:hover,.btn-secondary:hover,.btn-success:hover,.demo-btn:hover,.primary-btn:hover,.view-details-btn:hover,.view-module-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-3px)}.btn-gradient:active,.btn-primary:active,.btn-secondary:active,.btn-success:active,.demo-btn:active,.primary-btn:active,.view-details-btn:active,.view-module-btn:active{box-shadow:0 4px 15px #3b82f64d;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 15px #6b72804d}.btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 8px 25px #6b728066}.btn-success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 25px #10b98166}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],textarea{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#374151;font-family:inherit;font-size:15px;font-weight:500;padding:16px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=text]:focus,textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 8px 25px #3b82f626;outline:none;transform:translateY(-2px)}input[type=email]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=text]:hover,textarea:hover{border-color:#3b82f6;box-shadow:0 4px 15px #3b82f61a}.control-container{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 15px #0000000d;margin-bottom:24px;padding:24px;transition:all .3s ease}.control-container:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.control-header{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin-bottom:20px;padding-bottom:12px}.form-group label{letter-spacing:.025em}input[type=checkbox],input[type=radio]{accent-color:#3b82f6;cursor:pointer;height:20px;margin-right:12px;width:20px}.module-nav-container{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;padding:0 4px}.module-nav-btn{align-items:center;background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;min-width:140px;overflow:hidden;padding:16px 24px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.module-nav-btn:hover{background:#f1f5f9;border-color:#3b82f6;box-shadow:0 8px 25px #3b82f626;transform:translateY(-2px)}.module-nav-btn.active{background:#3b82f6!important;border-color:#3b82f6!important;box-shadow:0 8px 25px #3b82f64d!important;color:#fff!important}.module-nav-btn.active:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 12px 35px #3b82f666!important;transform:translateY(-3px)}.module-nav-btn.active .module-nav-icon,.module-nav-btn.active .module-nav-text{color:#fff!important}.module-nav-icon{align-items:center;display:flex;font-size:18px;height:20px;justify-content:center;width:20px}.module-nav-text{font-weight:600;letter-spacing:.025em}.module-nav-english{font-size:12px;font-weight:500;margin-left:4px;opacity:.8}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.preparation-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.preparation-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.preparation-header{background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:16px;box-shadow:0 4px 16px #3b82f633;margin-bottom:32px;overflow:hidden;padding:24px;position:relative}.preparation-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.preparation-header h1{color:#fff;font-size:28px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.preparation-header .subtitle{color:#ffffffe6;font-size:16px;font-weight:400;margin:8px 0 0;position:relative;z-index:1}.introduction-section{background:#fff;border-left:4px solid #3b82f6;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.introduction-text{color:#374151;font-size:16px;line-height:1.6;margin:0}.preparation-steps-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.preparation-steps-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:700;gap:12px;margin:0 0 20px}.preparation-steps-title:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px;content:"";height:24px;width:4px}.preparation-steps-list{grid-gap:16px;display:grid;gap:16px;list-style:none;margin:0;padding:0}.preparation-step{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .2s ease}.preparation-step:hover{border-color:#3b82f6;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.step-number{background:linear-gradient(135deg,#3b82f6,#1e40af);box-shadow:0 2px 8px #3b82f64d;font-size:14px;height:32px;width:32px}.step-text{color:#1f2937;font-size:16px;font-weight:500;line-height:1.5;margin:0}.flowchart-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.flowchart-title{color:#1f2937;font-size:20px;font-weight:700;margin:0 0 20px;text-align:center}.flowchart-diagram{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;gap:24px;padding:32px}.flowchart-row{align-items:center;display:flex;gap:16px}.flowchart-label{color:#374151;font-size:16px;font-weight:600;min-width:80px;text-align:right}.flowchart-boxes{align-items:center;display:flex;gap:8px}.flowchart-box{align-items:center;background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:8px;box-shadow:0 2px 8px #3b82f64d;color:#fff;display:flex;font-size:16px;font-weight:700;height:48px;justify-content:center;position:relative;width:48px}.flowchart-box:after{border-bottom:4px solid #0000;border-left:8px solid #3b82f6;border-top:4px solid #0000;content:"";height:0;position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:0}.flowchart-box:last-child:after{display:none}.flowchart-arrow{align-items:center;display:flex;flex-direction:column;gap:8px;margin:0 16px}.flowchart-arrow-text{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;font-weight:600;padding:4px 8px;white-space:nowrap}.flowchart-arrow-icon{border-left:8px solid #0000;border-right:8px solid #0000;border-top:12px solid #6b7280;height:0;width:0}.flowchart-connection{background:linear-gradient(180deg,#3b82f6,#8b5cf6);height:24px;margin:0 16px;width:2px}.flowchart-figure-label{background:#f3f4f6;border-radius:12px;color:#6b7280;display:inline-block;font-size:12px;font-weight:600;margin-top:16px;padding:4px 12px;text-align:center}.recommendation-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:16px;box-shadow:0 4px 20px #f59e0b1a;margin-bottom:24px;padding:24px}.recommendation-title{align-items:center;color:#92400e;display:flex;font-size:18px;font-weight:700;gap:12px;margin:0 0 12px}.recommendation-title:before{content:"💡";font-size:20px}.recommendation-text{color:#a16207;font-size:16px;line-height:1.6;margin:0}.action-buttons{border-top:1px solid #e5e7eb;gap:16px;justify-content:space-between;padding-top:24px}.action-button.secondary:hover{background:#e2e8f0;border-color:#94a3b8;transform:translateY(-1px)}.action-button.primary{background:linear-gradient(135deg,#3b82f6,#1e40af);box-shadow:0 4px 12px #3b82f64d}.action-button.primary:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}@media (max-width:768px){.preparation-container{padding:16px}.preparation-header h1{font-size:24px}.flowchart-row{flex-direction:column;gap:12px}.flowchart-label{min-width:auto;text-align:center}.flowchart-arrow{margin:12px 0}.flowchart-connection{height:2px;margin:12px 0;width:24px}.action-buttons{flex-direction:column;gap:12px}.action-button{width:100%}}@media (max-width:480px){.flowchart-boxes{flex-wrap:wrap;justify-content:center}.flowchart-box{font-size:14px;height:40px;width:40px}}.planner-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;margin:0 auto;max-width:1200px;min-height:100vh;overflow:visible;padding:24px;position:relative}.planner-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.planner-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.planner-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.planner-header-content{align-items:center;display:flex;gap:16px;position:relative;z-index:1}.planner-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.planner-icon .icon{size:24px;color:#fff}.planner-title-section{flex:1 1}.planner-title{color:#fff;font-size:24px;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.planner-subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0}.planner-content{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.form-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.form-section-header{border-bottom:2px solid #f1f5f9;margin-bottom:20px;padding-bottom:12px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:#374151;margin:0}.form-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;padding:12px 16px;transition:all .2s ease}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:disabled{background:#f8fafc;border-color:#e5e7eb;color:#64748b;cursor:not-allowed}.radio-group{align-items:center;gap:16px}.radio-option{border-radius:8px;gap:8px;padding:8px 12px;transition:all .2s ease}.radio-option:hover{background:#f8fafc}.radio-input{accent-color:#3b82f6;cursor:pointer;height:16px;width:16px}.radio-input:disabled{cursor:not-allowed}.radio-label{color:#374151;font-weight:500}.radio-option:hover .radio-label{color:#1f2937}.number-input-group{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;display:flex;overflow:hidden;transition:all .2s ease}.number-input-group:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.number-btn{align-items:center;background:#f8fafc;border:none;color:#64748b;cursor:pointer;display:flex;justify-content:center;min-width:44px;padding:12px 16px;transition:all .2s ease}.number-btn:hover:not(:disabled){background:#e2e8f0;color:#374151}.number-btn:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.number-input{background:#0000;border:none;color:#1f2937;flex:1 1;font-size:14px;min-width:60px;padding:12px 16px;text-align:center}.number-input:focus{outline:none}.number-input:disabled{background:#0000;color:#64748b;cursor:not-allowed}.periods-input-group{align-items:center;display:flex;gap:8px}.periods-label{color:#64748b;font-size:14px;font-weight:500;white-space:nowrap}.info-section{align-items:flex-start;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;display:flex;gap:16px;padding:20px}.info-icon{align-items:center;background:#f59e0b;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.info-icon .icon{size:20px;color:#fff}.info-content{flex:1 1}.info-title{color:#92400e;margin:0 0 8px}.info-text{color:#a16207;font-size:14px;line-height:1.6;margin:0}.planner-actions{align-items:center;border-top:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 0}.modify-btn{background:#8b5cf6;color:#fff}.modify-btn:hover:not(:disabled){background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d}.cancel-btn{background:#ef4444}.cancel-btn:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d}.save-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d}@media (max-width:1024px){.planner-container{padding:16px}.form-grid{gap:16px;grid-template-columns:1fr}.planner-actions{align-items:stretch;flex-direction:column}.action-btn{margin-bottom:8px;width:100%}}@media (max-width:768px){.planner-header-content{flex-direction:column;gap:12px;text-align:center}.planner-title{font-size:20px}.planner-subtitle{font-size:12px}.form-section{padding:16px}.section-title{font-size:16px}.radio-group{align-items:flex-start;flex-direction:column;gap:8px}.info-section{flex-direction:column;text-align:center}}@media (max-width:480px){.planner-container{border-radius:12px;padding:12px}.planner-header{border-radius:12px;padding:16px}.form-section{border-radius:12px;padding:12px}.action-btn{font-size:13px;min-width:100px;padding:10px 16px}}.settings-container{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0;overflow:hidden;padding:32px;position:relative}.settings-container:before{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.settings-header{border-bottom:2px solid #f1f5f9;margin-bottom:32px;padding-bottom:24px}.settings-header-content{align-items:center;display:flex;gap:20px}.settings-icon-container{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;box-shadow:0 8px 25px #3b82f64d;display:flex;height:56px;justify-content:center;overflow:hidden;position:relative;width:56px}.settings-icon-container:before{background:linear-gradient(135deg,#fff3,#ffffff0d);border-radius:16px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.settings-icon{color:#fff;position:relative;z-index:1}.settings-title-section{flex:1 1}.settings-title{color:#1e293b;font-size:28px;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0 0 8px}.settings-subtitle{color:#64748b;font-size:16px;font-weight:500;line-height:1.4;margin:0}.settings-navigation{margin-bottom:32px}.settings-tabs-container{-ms-overflow-style:none;display:flex;gap:8px;overflow-x:auto;padding:0;scrollbar-width:none}.settings-tabs-container::-webkit-scrollbar{display:none}.settings-tab{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;cursor:pointer;display:flex;flex-shrink:0;gap:12px;min-height:70px;min-width:160px;overflow:hidden;padding:16px 20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.settings-tab:before{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border-radius:14px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.settings-tab:hover:before{opacity:1}.settings-tab:hover{border-color:#3b82f6;box-shadow:0 12px 30px #00000026;transform:translateY(-4px)}.settings-tab.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;box-shadow:0 8px 25px #3b82f666;color:#fff;transform:translateY(-2px)}.settings-tab.active:before{opacity:0}.settings-tab-icon{align-items:center;background:#3b82f61a;border-radius:12px;display:flex;height:48px;justify-content:center;position:relative;transition:all .3s ease;width:48px;z-index:1}.settings-tab.active .settings-tab-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3}.settings-tab-icon svg{color:#3b82f6;transition:color .3s ease}.settings-tab.active .settings-tab-icon svg{color:#fff}.settings-tab-text{color:#374151;font-size:16px;font-weight:600;line-height:1.4;position:relative;transition:color .3s ease;z-index:1}.settings-tab.active .settings-tab-text{color:#fff}@media (max-width:1200px){.settings-tabs-container{gap:6px}.settings-tab{min-height:65px;min-width:140px;padding:14px 16px}.settings-tab-icon{height:36px;width:36px}.settings-tab-text{font-size:14px}}@media (max-width:900px){.settings-tabs-container{gap:5px}.settings-tab{min-height:60px;min-width:120px;padding:12px 14px}.settings-tab-icon{height:32px;width:32px}.settings-tab-text{font-size:13px}}@media (max-width:768px){.settings-container{border-radius:16px;padding:20px}.settings-header{margin-bottom:20px;padding-bottom:16px}.settings-header-content{gap:14px}.settings-icon-container{height:44px;width:44px}.settings-title{font-size:22px}.settings-subtitle{font-size:13px}.settings-tabs-container{gap:4px;padding-bottom:8px}.settings-tab{gap:8px;min-height:55px;min-width:100px;padding:10px 12px}.settings-tab-icon{height:30px;width:30px}.settings-tab-text{font-size:12px}}@media (max-width:600px){.settings-tabs-container{gap:3px;padding-bottom:8px}.settings-tab{gap:6px;min-height:50px;min-width:90px;padding:8px 10px}.settings-tab-icon{height:28px;width:28px}.settings-tab-text{font-size:11px}}@media (max-width:480px){.settings-container{margin:0 8px;padding:16px}.settings-header-content{flex-direction:column;gap:10px;text-align:center}.settings-title{font-size:18px}.settings-subtitle{font-size:12px}.settings-tabs-container{flex-direction:column;gap:6px}.settings-tab{gap:8px;justify-content:flex-start;min-height:45px;min-width:100%;padding:10px 14px}.settings-tab-icon{height:28px;width:28px}.settings-tab-text{font-size:12px}}.settings-tab{animation:fadeInUp .3s ease-out}.settings-tab:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.settings-tab.active:focus{box-shadow:0 8px 25px #3b82f666,0 0 0 3px #3b82f64d}.timetable-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.timetable-settings-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.timetable-settings-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.timetable-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.timetable-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.timetable-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.global-settings-panel{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:24px}.global-settings-content{flex:1 1}.date-format-label{color:#64748b;font-size:12px;font-style:italic;margin-bottom:16px}.date-inputs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.date-input-group{display:flex;flex-direction:column;gap:8px}.date-input-label{color:#374151;font-size:14px;font-weight:600;margin:0}.date-inputs-row{align-items:center;display:flex;gap:12px}.date-input{background:#fff;border-radius:8px;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s ease}.date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.date-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.date-separator{color:#64748b;font-size:16px;font-weight:500}.action-buttons-panel{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;min-width:auto}.action-button{border-radius:10px;box-shadow:0 2px 8px #0000001a;flex:1 1;max-width:150px;padding:12px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-panels-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.day-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.day-panel-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e5e7eb;padding:16px 20px}.day-panel-title{color:#1f2937;font-size:18px;font-weight:700;margin:0}.day-panel-content{display:flex;flex-direction:column;gap:20px;padding:20px}.period-definition-section{display:flex;flex-direction:column;gap:12px}.period-definition-title{color:#374151;font-size:16px;font-weight:600;margin:0}.period-inputs-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr}.period-input-group{display:flex;flex-direction:column;gap:4px}.period-input-label{color:#6b7280;font-size:12px;font-weight:500;margin:0}.period-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;padding:8px 10px;transition:all .2s ease}.period-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.period-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.update-button{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.update-button:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.update-button:disabled{background:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.period-list-section{display:flex;flex-direction:column;gap:8px}.period-list-title{color:#374151;font-size:16px;font-weight:600;margin:0}.period-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;overflow-y:auto}.period-list::-webkit-scrollbar{width:6px}.period-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.period-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.period-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.period-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:10px 12px;transition:background-color .2s ease}.period-item:hover{background:#f8fafc}.period-item:last-child{border-bottom:none}.period-item-text{color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500}.remove-period-btn{background:#0000;border:none;border-radius:4px;color:#ef4444;cursor:pointer;padding:4px;transition:all .2s ease}.remove-period-btn:hover{background:#fef2f2;color:#dc2626}.break-definition-section{display:flex;flex-direction:column;gap:12px}.break-definition-title{color:#374151;font-size:16px;font-weight:600;margin:0}.break-inputs-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1fr 2fr 1fr}.break-input-group{display:flex;flex-direction:column;gap:4px}.break-input-label{color:#6b7280;font-size:12px;font-weight:500;margin:0}.break-input-with-dropdown{display:flex}.break-input{background:#fff;border:1px solid #d1d5db;border-radius:6px 0 0 6px;flex:1 1;font-size:13px;padding:8px 10px;transition:all .2s ease}.break-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.break-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.break-dropdown-btn{background:#f8fafc;border:1px solid #d1d5db;border-left:none;border-radius:0 6px 6px 0;color:#64748b;cursor:pointer;font-size:12px;padding:8px 10px;transition:all .2s ease}.break-dropdown-btn:hover{background:#f1f5f9;color:#475569}.break-before-section{display:flex;flex-direction:column;gap:8px}.break-before-label{color:#374151;font-size:14px;font-weight:600;margin:0}.break-before-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;padding:8px 10px;transition:all .2s ease;width:80px}.break-before-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.break-before-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.break-list-section{display:flex;flex-direction:column;gap:8px}.break-list-title{color:#374151;font-size:16px;font-weight:600;margin:0}.break-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:120px;overflow-y:auto}.break-list::-webkit-scrollbar{width:6px}.break-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.break-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.break-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.break-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.break-item:hover{background:#f8fafc}.break-item:last-child{border-bottom:none}.break-item.selected{background:#1f2937;color:#fff}.break-item-text{color:inherit;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500}.remove-break-btn{background:#0000;border:none;border-radius:4px;color:#ef4444;cursor:pointer;padding:4px;transition:all .2s ease}.remove-break-btn:hover{background:#fef2f2;color:#dc2626}@media (max-width:1200px){.day-panels-container{gap:16px;grid-template-columns:1fr}.global-settings-panel{align-items:stretch;flex-direction:column}.action-buttons-panel{flex-direction:row;flex-wrap:wrap;gap:10px;min-width:auto}.action-button{max-width:140px;min-width:110px;padding:10px 16px}}@media (max-width:768px){.timetable-settings-container{padding:16px}.date-inputs-grid{gap:16px;grid-template-columns:1fr}.period-inputs-grid{gap:8px;grid-template-columns:1fr 1fr}.break-inputs-grid{gap:8px;grid-template-columns:1fr}.action-buttons-panel{flex-direction:row;gap:8px}.action-button{font-size:13px;max-width:120px;min-width:100px;padding:8px 12px}}@media (max-width:480px){.action-buttons-panel{flex-direction:column;gap:8px}.action-button{font-size:14px;max-width:100%;min-width:100%;padding:12px 16px}}.room-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.room-settings-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.room-settings-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.room-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.room-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.room-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.room-settings-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:24px}.room-form-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.room-form-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin:0;padding-bottom:12px}.room-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.room-form-group{display:flex;flex-direction:column;gap:6px}.room-form-group.full-width{grid-column:1/-1}.room-form-label{color:#374151;font-size:13px;font-weight:600;margin:0}.room-form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.room-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.room-form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.room-form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-height:80px;padding:10px 12px;resize:vertical;transition:all .2s ease}.room-form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.room-input-with-button{display:flex}.room-input-with-button .room-form-input{border-radius:8px 0 0 8px;border-right:none}.room-input-button{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-left:none;border-radius:0 8px 8px 0;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:10px 12px;transition:all .2s ease}.room-input-button:hover{background:#f1f5f9;color:#475569}.room-location-inputs{align-items:center;display:flex;gap:8px}.room-location-inputs .room-form-input{flex:1 1}.room-location-separator{color:#64748b;font-size:16px;font-weight:500}.room-number-input-group{align-items:center;display:flex;gap:8px}.room-number-input-group .room-form-input{flex:1 1}.room-number-controls{display:flex;flex-direction:column;gap:2px}.room-number-btn{align-items:center;background:#f8fafc;border:1px solid #d1d5db;color:#64748b;cursor:pointer;display:flex;font-size:12px;justify-content:center;padding:4px 8px;transition:all .2s ease}.room-number-btn:hover{background:#f1f5f9;color:#475569}.room-number-btn:first-child{border-bottom:none;border-radius:4px 4px 0 0}.room-number-btn:last-child{border-radius:0 0 4px 4px}.room-help-text{color:#6b7280;font-size:11px;font-style:italic;margin-top:4px}.room-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px}.room-list-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.room-list-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.room-list-count{background:#f1f5f9;border-radius:12px;color:#6b7280;font-size:12px;padding:4px 8px}.room-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:400px;min-height:200px;overflow-y:auto}.room-list::-webkit-scrollbar{width:6px}.room-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.room-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.room-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.room-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:all .2s ease}.room-item:hover{background:#f8fafc}.room-item.selected{background:#1f2937;color:#fff}.room-item:last-child{border-bottom:none}.room-item-code{color:inherit;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500;line-height:1.4}.room-item-details{color:inherit;font-size:10px;line-height:1.3;opacity:.7}@media (max-width:1200px){.room-settings-content{gap:16px;grid-template-columns:1fr}.action-buttons-panel{order:-1}}@media (max-width:768px){.room-settings-container{padding:16px}.room-form-grid{gap:12px;grid-template-columns:1fr}.room-location-inputs{align-items:stretch;flex-direction:column}.room-location-separator{text-align:center}}.teacher-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.teacher-settings-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.teacher-settings-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.teacher-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.teacher-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.teacher-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.teacher-settings-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:24px}.teacher-form-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.teacher-form-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin:0;padding-bottom:12px}.teacher-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.teacher-form-group{display:flex;flex-direction:column;gap:6px}.teacher-form-group.full-width{grid-column:1/-1}.teacher-form-group.short-name{align-items:end;display:flex;flex-direction:row;gap:8px}.teacher-form-group.short-name .teacher-form-group{flex:1 1}.teacher-form-label{color:#374151;font-size:13px;font-weight:600;margin:0}.teacher-form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.teacher-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.teacher-form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.teacher-number-input-group{align-items:center;display:flex;gap:8px}.teacher-number-input-group .teacher-form-input{flex:1 1}.teacher-number-controls{display:flex;flex-direction:column;gap:2px}.teacher-number-btn{align-items:center;background:#f8fafc;border:1px solid #d1d5db;color:#64748b;cursor:pointer;display:flex;font-size:12px;justify-content:center;padding:4px 8px;transition:all .2s ease}.teacher-number-btn:hover{background:#f1f5f9;color:#475569}.teacher-number-btn:first-child{border-bottom:none;border-radius:4px 4px 0 0}.teacher-number-btn:last-child{border-radius:0 0 4px 4px}.teacher-load-section{display:flex;flex-direction:column;gap:12px}.teacher-load-section-title{color:#374151;font-size:14px;font-weight:600;margin:0}.teacher-load-options{display:flex;gap:16px}.teacher-load-option{display:flex;flex:1 1;flex-direction:column;gap:6px}.teacher-load-option-label{color:#6b7280;font-size:12px;font-weight:500;margin:0}.teacher-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px}.teacher-list-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.teacher-list-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.teacher-list-count{background:#f1f5f9;border-radius:12px;color:#6b7280;font-size:12px;padding:4px 8px}.teacher-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:400px;min-height:200px;overflow-y:auto}.teacher-list::-webkit-scrollbar{width:6px}.teacher-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.teacher-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.teacher-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.teacher-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:all .2s ease}.teacher-item:hover{background:#f8fafc}.teacher-item.selected{background:#1f2937;color:#fff}.teacher-item:last-child{border-bottom:none}.teacher-item-code{color:inherit;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500;line-height:1.4}.teacher-item-details{color:inherit;font-size:10px;line-height:1.3;opacity:.7}@media (max-width:1200px){.teacher-settings-content{gap:16px;grid-template-columns:1fr}.action-buttons-panel{order:-1}}@media (max-width:768px){.teacher-settings-container{padding:16px}.teacher-form-grid{gap:12px;grid-template-columns:1fr}.teacher-form-group.short-name{align-items:stretch;flex-direction:column}.teacher-load-options{flex-direction:column}}.class-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.class-settings-container:before{background:linear-gradient(90deg,#10b981,#059669,#047857,#065f46);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.class-settings-header{background:linear-gradient(135deg,#10b981,#059669);border-radius:16px;box-shadow:0 4px 16px #10b98133;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.class-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.class-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.class-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.class-settings-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:24px}.class-form-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.class-form-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin:0;padding-bottom:12px}.class-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.class-form-group{display:flex;flex-direction:column;gap:6px}.class-form-group.full-width{grid-column:1/-1}.class-form-label{color:#374151;font-size:13px;font-weight:600;margin:0}.class-form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.class-form-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.class-form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.class-number-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.class-number-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.action-button.primary{background:#10b981}.action-button.primary:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d}.class-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px}.class-list-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.class-list-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.class-list-count{background:#f1f5f9;border-radius:12px;color:#6b7280;font-size:12px;padding:4px 8px}.class-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:400px;min-height:200px;overflow-y:auto}.class-list::-webkit-scrollbar{width:6px}.class-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.class-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.class-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.class-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:all .2s ease}.class-item:hover{background:#f8fafc}.class-item.selected{background:#1f2937;color:#fff}.class-item:last-child{border-bottom:none}.class-item-code{color:inherit;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500;line-height:1.4}.class-item-details{color:inherit;font-size:10px;line-height:1.3;opacity:.7}.loading-spinner{color:#10b981}@media (max-width:1200px){.class-settings-content{gap:16px;grid-template-columns:1fr}.action-buttons-panel{order:-1}}@media (max-width:768px){.class-settings-container{padding:16px}.class-form-grid{gap:12px;grid-template-columns:1fr}}.subject-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.subject-settings-container:before{background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.subject-settings-header{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:16px;box-shadow:0 4px 16px #6366f133;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.subject-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.subject-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.subject-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.subject-settings-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:24px}.subject-form-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.subject-form-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin:0;padding-bottom:12px}.subject-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.subject-form-group{display:flex;flex-direction:column;gap:6px}.subject-form-group.full-width{grid-column:1/-1}.subject-form-group.short-name{align-items:end;display:flex;flex-direction:row;gap:8px}.subject-form-group.short-name .subject-form-group{flex:1 1}.subject-form-label{color:#374151;font-size:13px;font-weight:600;margin:0}.subject-form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.subject-form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.subject-form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.subject-input-with-button{display:flex}.subject-input-with-button .subject-form-input{border-radius:8px 0 0 8px;border-right:none}.subject-input-button{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-left:none;border-radius:0 8px 8px 0;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:10px 12px;transition:all .2s ease}.subject-input-button:hover{background:#f1f5f9;color:#475569}.action-button.primary{background:#6366f1}.action-button.primary:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 12px #6366f14d}.subject-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px}.subject-list-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.subject-list-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.subject-list-count{background:#f1f5f9;border-radius:12px;color:#6b7280;font-size:12px;padding:4px 8px}.subject-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:400px;min-height:200px;overflow-y:auto}.subject-list::-webkit-scrollbar{width:6px}.subject-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.subject-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.subject-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.subject-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:all .2s ease}.subject-item:hover{background:#f8fafc}.subject-item.selected{background:#1f2937;color:#fff}.subject-item:last-child{border-bottom:none}.subject-item-code{color:inherit;font-size:12px}.subject-item-details{color:inherit;font-size:10px;opacity:.7}.loading-spinner{color:#6366f1}@media (max-width:1200px){.subject-settings-content{gap:16px;grid-template-columns:1fr}.action-buttons-panel{order:-1}}@media (max-width:768px){.subject-settings-container{padding:16px}.subject-form-grid{gap:12px;grid-template-columns:1fr}.subject-form-group.short-name{align-items:stretch;flex-direction:column}}.associated-subject-settings-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.associated-subject-settings-container:before{background:linear-gradient(90deg,#f59e0b,#d97706,#b45309,#92400e);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.associated-subject-settings-header{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:16px;box-shadow:0 4px 16px #f59e0b33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.associated-subject-settings-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.associated-subject-settings-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.associated-subject-settings-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.associated-subject-settings-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:24px}.association-form-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:24px}.association-form-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:18px;font-weight:700;margin:0;padding-bottom:12px}.association-form-grid{display:flex;flex-direction:column;gap:16px}.association-form-group{display:flex;flex-direction:column;gap:6px}.association-form-group.full-width{grid-column:1/-1}.association-form-group.association-row{align-items:end;display:flex;flex-direction:row;gap:16px}.association-form-group.association-row .association-form-group{flex:1 1}.association-form-label{color:#374151;font-size:13px;font-weight:600;margin:0}.association-form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease}.association-form-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.association-form-input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.association-input-with-button{display:flex}.association-input-with-button .association-form-input{border-radius:8px 0 0 8px;border-right:none}.association-input-button{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-left:none;border-radius:0 8px 8px 0;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:10px 12px;transition:all .2s ease}.association-input-button:hover{background:#f1f5f9;color:#475569}.association-text{color:#6b7280;font-size:14px;font-weight:500;margin-top:24px;text-align:center}.selected-subject-display{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:16px}.selected-subject-label{color:#374151;font-size:12px;font-weight:600;margin:0 0 8px}.selected-subject-name{color:#1f2937;font-size:14px;font-weight:500;margin:0}.action-buttons-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:12px;padding:24px}.action-button{min-width:100px}.action-button.primary{background:#f59e0b}.action-button.primary:hover:not(:disabled){background:#d97706;box-shadow:0 4px 12px #f59e0b4d}.association-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px}.association-list-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:12px}.association-list-title{color:#1f2937;font-size:16px;font-weight:600;margin:0}.association-list-count{background:#f1f5f9;border-radius:12px;color:#6b7280;font-size:12px;padding:4px 8px}.association-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:400px;min-height:200px;overflow-y:auto}.association-list::-webkit-scrollbar{width:6px}.association-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.association-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.association-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.association-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:all .2s ease}.association-item:hover{background:#f8fafc}.association-item.selected{background:#1f2937;color:#fff}.association-item:last-child{border-bottom:none}.association-item-code{color:inherit;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500;line-height:1.4}.association-item-details{color:inherit;font-size:10px;line-height:1.3;opacity:.7}.mode-indicator{background:#1f2937;border-radius:20px;bottom:24px;color:#fff;font-size:12px;font-weight:500;padding:8px 16px;position:absolute;right:24px}.instructions-section{background:#fef3c7}.instructions-content{font-size:13px}.loading-spinner{color:#f59e0b}@media (max-width:1200px){.associated-subject-settings-content{gap:16px;grid-template-columns:1fr}.action-buttons-panel{order:-1}}@media (max-width:768px){.associated-subject-settings-container{padding:16px}.association-form-group.association-row{align-items:stretch;flex-direction:column}}.planning-data-container{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0;overflow:hidden;padding:32px;position:relative}.planning-data-container:before{background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.planning-data-header{border-bottom:2px solid #f1f5f9;margin-bottom:32px;padding-bottom:24px}.planning-data-header-content{align-items:center;display:flex;gap:20px}.planning-data-icon-container{align-items:center;background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:16px;box-shadow:0 8px 25px #10b9814d;display:flex;height:56px;justify-content:center;overflow:hidden;position:relative;width:56px}.planning-data-icon-container:before{background:linear-gradient(135deg,#fff3,#ffffff0d);border-radius:16px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.planning-data-icon{color:#fff;position:relative;z-index:1}.planning-data-title-section{flex:1 1}.planning-data-title{color:#1e293b;font-size:28px;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0 0 8px}.planning-data-subtitle{color:#64748b;font-size:16px;font-weight:500;line-height:1.4;margin:0}.planning-data-navigation{margin-bottom:32px}.planning-data-tabs-container{-ms-overflow-style:none;display:flex;gap:8px;overflow-x:auto;padding:0;scrollbar-width:none}.planning-data-tabs-container::-webkit-scrollbar{display:none}.planning-data-tab{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;cursor:pointer;display:flex;flex-shrink:0;gap:12px;min-width:180px;overflow:hidden;padding:16px 20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.planning-data-tab:before{background:linear-gradient(135deg,#10b9810d,#3b82f60d);border-radius:10px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.planning-data-tab:hover:before{opacity:1}.planning-data-tab:hover{border-color:#10b981;box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.planning-data-tab.active{background:linear-gradient(135deg,#10b981,#3b82f6);border-color:#10b981;box-shadow:0 6px 20px #10b98166;color:#fff;transform:translateY(-1px)}.planning-data-tab.active:before{opacity:0}.planning-data-tab-icon{align-items:center;background:#10b9811a;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px;z-index:1}.planning-data-tab.active .planning-data-tab-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3}.planning-data-tab-icon svg{color:#10b981;transition:color .3s ease}.planning-data-tab.active .planning-data-tab-icon svg{color:#fff}.planning-data-tab-text{color:#374151;font-size:14px;font-weight:600;line-height:1.4;position:relative;transition:color .3s ease;z-index:1}.planning-data-tab.active .planning-data-tab-text{color:#fff}.planning-data-tab-indicator{animation:indicatorSlide .3s ease-out;background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:0 0 12px 12px;bottom:0;height:3px;left:0;position:absolute;right:0}@keyframes indicatorSlide{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:1200px){.planning-data-tab{gap:8px;min-width:140px;padding:12px 16px}.planning-data-tab-icon{height:32px;width:32px}.planning-data-tab-text{font-size:12px}}@media (max-width:900px){.planning-data-tabs-container{gap:6px}.planning-data-tab{gap:6px;min-width:120px;padding:10px 14px}.planning-data-tab-icon{height:28px;width:28px}.planning-data-tab-text{font-size:11px}}@media (max-width:768px){.planning-data-container{border-radius:16px;padding:20px}.planning-data-header{margin-bottom:20px;padding-bottom:16px}.planning-data-header-content{gap:14px}.planning-data-icon-container{height:44px;width:44px}.planning-data-title{font-size:22px}.planning-data-subtitle{font-size:13px}.planning-data-tabs-container{gap:4px;overflow-x:auto;padding-bottom:8px}.planning-data-tab{flex-shrink:0;gap:6px;min-width:110px;padding:8px 12px}.planning-data-tab-icon{height:26px;width:26px}.planning-data-tab-text{font-size:10px}}@media (max-width:600px){.planning-data-tabs-container{flex-direction:column;gap:6px;overflow-x:visible}.planning-data-tab{gap:8px;justify-content:flex-start;min-width:100%;padding:12px 16px}.planning-data-tab-icon{height:30px;width:30px}.planning-data-tab-text{font-size:12px}}@media (max-width:480px){.planning-data-container{margin:0 8px;padding:16px}.planning-data-header-content{flex-direction:column;gap:10px;text-align:center}.planning-data-title{font-size:18px}.planning-data-subtitle{font-size:12px}.planning-data-tab{gap:8px;min-height:45px;padding:10px 14px}.planning-data-tab-icon{height:28px;width:28px}.planning-data-tab-text{font-size:11px}}.planning-data-tab{animation:fadeInUp .3s ease-out}.planning-data-tab:focus{box-shadow:0 0 0 3px #10b9814d;outline:none}.planning-data-tab.active:focus{box-shadow:0 6px 20px #10b98166,0 0 0 3px #10b9814d}.planning-data-tab.active:hover .planning-data-tab-icon,.planning-data-tab:hover .planning-data-tab-icon{transform:scale(1.05)}.planning-data-tab *{transition:all .3s cubic-bezier(.4,0,.2,1)}.subject-item-load-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.subject-item-load-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.subject-item-load-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.subject-item-load-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.subject-item-load-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.subject-item-load-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.subject-item-load-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px;margin-bottom:20px;min-height:600px}.subject-item-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;padding:20px}.subject-item-list-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.subject-item-list-title{color:#1e293b;font-size:18px;font-weight:600;margin:0}.subject-item-counter{background:#f1f5f9;border-radius:20px;color:#475569;font-size:12px;font-weight:500;padding:4px 12px}.subject-item-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1 1;max-height:500px;min-height:300px;overflow-y:auto}.subject-item-list::-webkit-scrollbar{width:6px}.subject-item-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.subject-item-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.subject-item-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.subject-item-row{word-wrap:break-word;align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;overflow-wrap:break-word;padding:12px 16px;transition:all .2s ease}.subject-item-row:hover{background:#f8fafc}.subject-item-row.selected{background:#dbeafe;border-color:#3b82f6}.subject-item-row:last-child{border-bottom:none}.subject-item-code{color:#1e293b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:500;line-height:1.4}.subject-item-code,.subject-item-details{word-wrap:break-word;overflow-wrap:break-word}.subject-item-details{color:#64748b;font-size:11px;line-height:1.3;margin-top:4px}.subject-item-check{color:#3b82f6;opacity:0;transition:opacity .2s ease}.subject-item-row.selected .subject-item-check{opacity:1}.subject-item-controls-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:20px}.new-load-input{align-items:center;display:flex;gap:8px}.new-load-field{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s ease}.new-load-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.new-load-dropdown{background:#f8fafc;border:1px solid #d1d5db;border-radius:8px;color:#64748b;cursor:pointer;padding:10px;transition:all .2s ease}.new-load-dropdown:hover{background:#f1f5f9;color:#475569}.action-button-group .action-button{flex:1 1}@media (max-width:1024px){.subject-item-load-content{gap:16px;grid-template-columns:1fr}.subject-item-controls-panel{order:-1}}@media (max-width:768px){.subject-item-load-container{padding:16px}.search-filter-controls{align-items:stretch;flex-direction:column}.action-button-group{flex-direction:column}}.class-subject-quota-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.class-subject-quota-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.class-subject-quota-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.class-subject-quota-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.class-subject-quota-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.class-subject-quota-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.page-indicator{background:#f1f5f9;border-radius:20px;color:#475569;font-size:12px;font-weight:500;margin-left:12px;padding:6px 12px}.navigation-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.nav-button,.navigation-buttons{align-items:center}.nav-button{border:none;border-radius:8px;display:flex;gap:6px;padding:8px 16px;transition:all .2s ease}.nav-button.primary{background:#3b82f6;color:#fff}.nav-button.primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.nav-button.secondary{background:#f1f5f9;border:1px solid #d1d5db;color:#475569}.nav-button.secondary:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.nav-button:disabled{background:#f1f5f9;box-shadow:none;color:#94a3b8;cursor:not-allowed;transform:none}.action-buttons{align-items:center}.quota-grid-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;overflow:hidden;padding:20px}.quota-grid{border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;width:100%}.quota-grid thead{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.quota-grid th{border-bottom:2px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;min-width:80px;padding:12px 16px;position:relative;text-align:center}.quota-grid th:first-child{background:#f1f5f9;border-right:2px solid #e5e7eb;color:#1f2937;font-weight:700;text-align:left}.quota-grid tbody tr{transition:background-color .2s ease}.quota-grid tbody tr:hover{background:#f8fafc}.quota-grid tbody tr:nth-child(2n){background:#fafbfc}.quota-grid tbody tr:nth-child(2n):hover{background:#f1f5f9}.quota-grid td{border-bottom:1px solid #f3f4f6;min-width:80px;padding:12px 16px;position:relative;text-align:center}.quota-grid td:first-child{background:#f8fafc;border-right:2px solid #e5e7eb;color:#1f2937;font-weight:600;text-align:left}.quota-cell{align-items:center;border-radius:6px;cursor:pointer;display:flex;justify-content:center;min-height:40px;transition:all .2s ease}.quota-cell:hover{background:#e0f2fe!important;transform:scale(1.02)}.quota-cell.selected{background:#dbeafe!important;border:2px solid #3b82f6;box-shadow:0 0 0 3px #3b82f61a}.quota-cell.editing{background:#fef3c7!important;border:2px solid #f59e0b}.cell-combined{background:#dbeafe!important;color:#1e40af;font-weight:600}.cell-split{background:#fee2e2!important;color:#dc2626;font-weight:600}.cell-atomic{background:#dcfce7!important;color:#166534;font-weight:600}.cell-negative{animation:pulse 2s infinite;background:#fef2f2!important;color:#991b1b;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.cell-normal{background:#fff;color:#374151}.quota-input,.quota-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:500}.quota-input{background:#0000;border:none;color:inherit;outline:none;text-align:center;width:100%}.action-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:20px}.action-panel-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.action-panel-title{color:#1f2937;font-size:18px;font-weight:600;margin:0}.selected-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:16px;padding:12px}.selected-info-text{color:#0369a1;font-size:14px;font-weight:500;margin:0}.action-buttons-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-button{letter-spacing:.5px;text-transform:uppercase}.action-button.split{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.action-button.split:hover{background:#fecaca;box-shadow:0 4px 12px #dc262633;transform:translateY(-1px)}.action-button.combined{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.action-button.combined:hover{background:#bfdbfe;box-shadow:0 4px 12px #1e40af33;transform:translateY(-1px)}.action-button.atomic{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.action-button.atomic:hover{background:#bbf7d0;box-shadow:0 4px 12px #16653433;transform:translateY(-1px)}.action-button.modify{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.action-button.modify:hover{background:#fde68a;box-shadow:0 4px 12px #92400e33;transform:translateY(-1px)}.action-button.delete{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.action-button.delete:hover{background:#fecaca;box-shadow:0 4px 12px #991b1b33;transform:translateY(-1px)}.action-dialog{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.action-dialog-content{animation:dialogSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:16px;max-width:400px;padding:24px;width:100%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.action-dialog-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.action-dialog-input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px;transition:all .2s ease;width:100%}.action-dialog-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.action-dialog-buttons{display:flex;gap:12px}.action-dialog-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.action-dialog-button.cancel{background:#f1f5f9;border:1px solid #d1d5db;color:#475569}.action-dialog-button.cancel:hover{background:#e2e8f0;border-color:#94a3b8}.action-dialog-button.confirm{background:#3b82f6;color:#fff}.action-dialog-button.confirm:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}@media (max-width:1024px){.quota-grid-container{overflow-x:auto}.action-buttons-grid{grid-template-columns:1fr}.navigation-controls{align-items:stretch;flex-direction:column;gap:16px}.action-buttons,.navigation-buttons{justify-content:center}}@media (max-width:768px){.class-subject-quota-container{padding:16px}.quota-grid td,.quota-grid th{font-size:12px;padding:8px 12px}.action-dialog-content{margin:8px;padding:20px}}.teacher-details-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:visible;padding:24px;position:relative}.teacher-details-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.teacher-details-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.teacher-details-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.teacher-details-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.teacher-details-header .subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0;position:relative;z-index:1}.teacher-details-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px 200px;margin-bottom:20px;min-height:600px}.assignment-list-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;padding:20px}.assignment-list-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.assignment-list-title{color:#1e293b;font-size:18px;font-weight:600;margin:0}.assignment-counter{background:#f1f5f9;border-radius:20px;color:#475569;font-size:12px;font-weight:500;padding:4px 12px}.assignment-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1 1;max-height:500px;min-height:300px;overflow-y:auto}.assignment-list::-webkit-scrollbar{width:6px}.assignment-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.assignment-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.assignment-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.assignment-row{word-wrap:break-word;align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;overflow-wrap:break-word;padding:12px 16px;transition:all .2s ease}.assignment-row:hover{background:#f8fafc}.assignment-row.selected{background:#dbeafe;border-color:#3b82f6}.assignment-row:last-child{border-bottom:none}.assignment-code{color:#1e293b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:500;line-height:1.4}.assignment-code,.assignment-details{word-wrap:break-word;overflow-wrap:break-word}.assignment-details{color:#64748b;font-size:11px;line-height:1.3;margin-top:4px}.assignment-actions{align-items:center;display:flex;gap:8px}.assignment-check{color:#3b82f6;opacity:0;transition:opacity .2s ease}.assignment-row.selected .assignment-check{opacity:1}.remove-teacher-btn{background:#0000;border:none;border-radius:4px;color:#ef4444;cursor:pointer;padding:4px;transition:all .2s ease}.remove-teacher-btn:hover{background:#fef2f2;color:#dc2626}.teacher-controls-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:20px}.control-section{display:flex;flex-direction:column;gap:8px}.control-section-title{color:#1e293b;font-size:16px;font-weight:600;margin:0}.selected-items-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:8px;max-height:200px;min-height:120px;overflow-y:auto;padding:12px}.selected-items-display::-webkit-scrollbar{width:4px}.selected-items-display::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.selected-items-display::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.no-selection{color:#64748b;font-style:italic;padding:20px;text-align:center}.selected-item{background:#e0f2fe;border:1px solid #0ea5e9;color:#0c4a6e;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:8px 12px}.teacher-input{align-items:center;display:flex;gap:8px}.teacher-field{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s ease}.teacher-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.teacher-dropdown{background:#f8fafc;border:1px solid #d1d5db;border-radius:8px;color:#64748b;cursor:pointer;padding:10px;transition:all .2s ease}.teacher-dropdown:hover{background:#f1f5f9;color:#475569}.teacher-load-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:20px;padding:20px}.teacher-load-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding-bottom:12px}.teacher-load-title{color:#1e293b;font-size:16px;font-weight:600;margin:0}.teacher-load-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1 1;max-height:300px;min-height:200px;overflow-y:auto}.teacher-load-list::-webkit-scrollbar{width:4px}.teacher-load-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.teacher-load-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.teacher-load-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.teacher-load-item:hover{background:#f8fafc}.teacher-load-item:last-child{border-bottom:none}.teacher-load-code{color:#1e293b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;font-weight:500}.teacher-load-name{color:#64748b;font-size:10px}.action-buttons{margin-top:auto}.action-button{align-items:center;display:flex;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease}.action-button.primary{background:#3b82f6;color:#fff}.action-button.primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.action-button.secondary{background:#f1f5f9;border:1px solid #d1d5db;color:#475569}.action-button.secondary:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.action-button.success{background:#10b981;color:#fff}.action-button.success:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.action-button.danger{background:#ef4444;color:#fff}.action-button.danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.action-button:disabled{background:#f1f5f9;box-shadow:none;color:#94a3b8;cursor:not-allowed;transform:none}.action-button-group{display:flex;flex-direction:column;gap:8px}.search-filter-section{margin-bottom:20px;padding:20px}.search-filter-controls{align-items:center;display:flex;gap:16px}.search-input{position:relative}.search-input input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 16px 12px 40px;transition:all .2s ease;width:100%}.search-input input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-icon{color:#9ca3af;left:12px;pointer-events:none}.sort-controls{align-items:center;display:flex;gap:8px}.sort-label{color:#374151;font-size:14px;font-weight:500}.sort-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.sort-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.loading-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;height:200px}.loading-content{text-align:center}.loading-spinner{color:#3b82f6;margin-bottom:16px}.loading-text{color:#64748b;font-size:14px}.instructions-section{background:#f0f9ff;border:1px solid #bae6fd;clear:both;padding:16px;position:relative;z-index:1}.instructions-title{color:#0c4a6e;font-size:14px;font-weight:600;margin:0 0 8px}.instructions-list{color:#0369a1;font-size:12px;margin:0;padding-left:16px}.instructions-list li{margin-bottom:4px}@media (max-width:1200px){.teacher-details-content{gap:16px;grid-template-columns:1fr 250px 180px}}@media (max-width:1024px){.teacher-details-content{gap:16px;grid-template-columns:1fr}.teacher-controls-panel{order:-1}.teacher-load-panel{order:-2}}@media (max-width:768px){.teacher-details-container{padding:16px}.search-filter-controls{align-items:stretch;flex-direction:column}.action-button-group{flex-direction:column}}.rooms-details-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:hidden;padding:24px;position:relative}.rooms-details-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.rooms-header{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:16px;box-shadow:0 4px 16px #2563eb33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.rooms-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.rooms-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.rooms-content{display:flex;gap:24px;height:calc(100vh - 200px)}.rooms-left-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex:1 1;flex-direction:column;padding:20px}.select-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select-wrapper:hover .select-arrow{color:#3b82f6}.rooms-right-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;gap:20px;padding:24px;width:320px}.home-room-section,.room-section,.selected-section{display:flex;flex-direction:column;gap:8px}.home-room-section label,.room-section label,.selected-section label{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.selected-display{background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#374151;font-size:14px;font-weight:500;min-height:60px;padding:16px;transition:all .3s ease;word-break:break-all}.selected-display:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.room-input-container{display:flex;flex-direction:column;gap:12px}.room-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#374151;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:12px 16px;transition:all .3s ease}.room-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.room-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.nav-btn:active:not(:disabled){box-shadow:0 4px 12px #3b82f633;transform:translateY(0)}.action-btn:active:not(:disabled){box-shadow:0 4px 12px #0000001a;transform:translateY(0)}.save-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.home-room-btn{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #f59e0b;border-radius:12px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:12px 16px;transition:all .3s ease;width:100%}.home-room-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);border-color:#d97706;box-shadow:0 8px 25px #f59e0b66;transform:translateY(-2px)}.home-room-btn:active{box-shadow:0 4px 12px #f59e0b33;transform:translateY(0)}.loading-spinner:before{border-top-color:#3b82f6}.data-list::-webkit-scrollbar{width:8px}.data-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.data-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease}.data-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.data-list::-webkit-scrollbar-button{display:none}@media (max-width:1024px){.rooms-content{flex-direction:column;gap:20px;height:auto}.rooms-right-panel{width:100%}.rooms-left-panel{min-height:400px}}@media (max-width:768px){.rooms-details-container{border-radius:16px;padding:16px}.rooms-header{border-radius:12px;padding:16px 20px}.rooms-header h2{font-size:20px}.rooms-left-panel,.rooms-right-panel{border-radius:12px;padding:16px}.data-item{font-size:13px;min-height:48px;padding:12px 16px}.action-btn,.home-room-btn,.nav-btn{font-size:13px;min-height:44px;padding:10px 14px}}.room-input:focus,.select-wrapper select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.action-btn:focus,.home-room-btn:focus,.nav-btn:focus{box-shadow:0 0 0 3px #3b82f633;outline:none}.rooms-details-container{animation:fadeIn .6s ease-out}.rooms-left-panel,.rooms-right-panel{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.data-item{animation:slideIn .3s ease-out}.double-lessons-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh;overflow:hidden;padding:24px;position:relative}.double-lessons-container:before{background:linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6,#06b6d4);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.double-lessons-header{background:linear-gradient(135deg,#ea580c,#c2410c);border-radius:16px;box-shadow:0 4px 16px #ea580c33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.double-lessons-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.double-lessons-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.double-lessons-content{display:flex;gap:24px;height:calc(100vh - 200px)}.double-lessons-left-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;gap:20px;padding:20px;width:300px}.selected-section{display:flex;flex-direction:column;gap:12px}.selected-section label{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.selected-list{background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:8px;max-height:300px;min-height:200px;overflow-y:auto;padding:16px}.selected-item{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:8px;color:#1e40af;font-size:13px;font-weight:500;padding:12px;transition:all .3s ease;word-break:break-all}.selected-item:hover{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;transform:translateX(4px)}.double-count-section{display:flex;flex-direction:column;gap:12px}.double-count-section label{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.double-count-controls{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;gap:8px}.count-btn,.double-count-controls{align-items:center;display:flex;padding:8px}.count-btn{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;justify-content:center;transition:all .3s ease}.count-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff;transform:translateY(-2px)}.count-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.double-count-input{background:#0000;border:none;color:#374151;font-family:Inter,sans-serif;font-size:16px;font-weight:600;outline:none;padding:8px 12px;text-align:center;width:60px}.double-count-dropdown{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;position:relative;transition:all .3s ease}.double-count-dropdown:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.double-count-select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#374151;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;outline:none;padding:12px 16px;width:100%}.select-arrow{color:#6b7280;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .3s ease}.double-count-dropdown:hover .select-arrow{color:#3b82f6}.double-lessons-middle-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex:1 1;flex-direction:column;padding:20px}.sort-container{align-items:center;display:flex;gap:12px;margin-bottom:20px}.sort-container label{color:#374151;font-size:14px;font-weight:600}.select-container{min-width:140px;position:relative}.select-wrapper{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;position:relative;transition:all .3s ease}.select-wrapper:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.select-wrapper select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#374151;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;outline:none;padding:12px 16px;width:100%}.data-list-container{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.list-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e5e7eb;color:#374151;font-size:14px;font-weight:700;letter-spacing:.5px;padding:16px 20px;text-transform:uppercase}.data-list{background:#fff;flex:1 1;overflow-y:auto}.data-item{align-items:center;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;min-height:56px;overflow:hidden;padding:16px 20px;position:relative;text-overflow:ellipsis;transition:all .3s ease;white-space:nowrap}.data-item:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f626;color:#1e40af;transform:translateX(4px)}.data-item.selected{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 8px 25px #3b82f64d;color:#fff;transform:translateX(8px)}.data-item.modified{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;color:#92400e}.data-item.modified.selected{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-left:4px solid #fff;color:#fff}.data-item:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;transition:all .3s ease;width:4px}.data-item:hover:before{background:#3b82f6}.data-item.selected:before{background:#fff}.pagination{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:2px solid #e5e7eb;color:#6b7280;font-size:14px;font-weight:600;padding:16px 20px;text-align:center}.double-lessons-right-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;gap:20px;padding:20px;width:200px}.nav-buttons{display:flex;flex-direction:column;gap:12px}.nav-btn{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:12px 16px;transition:all .3s ease}.nav-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;box-shadow:0 8px 25px #3b82f64d;color:#fff;transform:translateY(-2px)}.nav-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.action-buttons{flex-direction:column}.action-btn{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;font-family:Inter,sans-serif;min-height:48px;padding:12px 16px}.action-btn:hover:not(:disabled){box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.action-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}.modify-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;box-shadow:0 8px 25px #3b82f64d;color:#fff}.cancel-btn:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;box-shadow:0 8px 25px #ef44444d;color:#fff}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 8px 25px #10b9814d;color:#fff}.print-section{margin-top:auto}.print-btn{align-items:center;background:linear-gradient(135deg,#6b7280,#4b5563);border:2px solid #6b7280;border-radius:12px;box-shadow:0 4px 12px #6b72804d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:12px 16px;transition:all .3s ease;width:100%}.print-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);border-color:#4b5563;box-shadow:0 8px 25px #6b728066;transform:translateY(-2px)}.quadruple-lessons-content,.triple-lessons-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:40px}.quadruple-lessons-info,.triple-lessons-info{text-align:center}.quadruple-lessons-info h3,.triple-lessons-info h3{color:#374151;font-size:24px;font-weight:700;margin-bottom:20px}.quadruple-lessons-info p,.triple-lessons-info p{color:#6b7280;font-size:16px;line-height:1.6;margin-bottom:12px}.navigation-buttons{display:flex;gap:12px;justify-content:center;margin-top:30px}.loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;position:fixed;z-index:1000}.loading-spinner{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 60px #0003;color:#374151;display:flex;font-size:16px;font-weight:600;gap:12px;padding:32px 40px}.loading-spinner:before{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#f59e0b;content:"";height:20px;width:20px}.data-list::-webkit-scrollbar,.selected-list::-webkit-scrollbar{width:8px}.data-list::-webkit-scrollbar-track,.selected-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.data-list::-webkit-scrollbar-thumb,.selected-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease}.data-list::-webkit-scrollbar-thumb:hover,.selected-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}@media (max-width:1024px){.double-lessons-content{flex-direction:column;gap:20px;height:auto}.double-lessons-left-panel,.double-lessons-right-panel{width:100%}.double-lessons-middle-panel{min-height:400px}}@media (max-width:768px){.double-lessons-container{border-radius:16px;padding:16px}.double-lessons-header{border-radius:12px;padding:16px 20px}.double-lessons-header h2{font-size:20px}.double-lessons-left-panel,.double-lessons-middle-panel,.double-lessons-right-panel{border-radius:12px;padding:16px}.data-item{font-size:13px;min-height:48px;padding:12px 16px}.action-btn,.nav-btn,.print-btn{font-size:13px;min-height:44px;padding:10px 14px}}.double-count-input:focus,.double-count-select:focus,.select-wrapper select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.action-btn:focus,.count-btn:focus,.nav-btn:focus,.print-btn:focus{box-shadow:0 0 0 3px #3b82f633;outline:none}.double-lessons-container{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.double-lessons-left-panel,.double-lessons-middle-panel,.double-lessons-right-panel{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.data-item,.selected-item{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.generation-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;margin:0 auto;max-width:1200px;min-height:100vh;overflow:visible;padding:24px;position:relative}.generation-container:before{background:linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6,#06b6d4);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.generation-header{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:16px;box-shadow:0 4px 16px #f59e0b33;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.generation-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.generation-header-content{align-items:center;display:flex;gap:16px;position:relative;z-index:1}.generation-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.generation-icon .icon{size:24px;color:#fff}.generation-title-section{flex:1 1}.generation-title{color:#fff;font-size:24px;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.generation-subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0}.generation-content{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.process-description{align-items:flex-start;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:12px;display:flex;gap:16px;padding:20px}.process-icon{align-items:center;background:#3b82f6;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.process-icon .icon{size:20px;color:#fff}.process-content{flex:1 1}.process-title{color:#1e40af;font-size:16px;font-weight:700;margin:0 0 8px}.process-text{color:#1e40af;font-size:14px;line-height:1.6;margin:0}.example-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.example-title{color:#1f2937;font-size:18px;font-weight:700;margin:0 0 20px}.example-input,.example-output{margin-bottom:20px}.example-label{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.example-data{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.example-item{align-items:center;display:flex;font-size:14px;font-weight:500;gap:12px;padding:8px 0}.example-item .class{background:#3b82f6}.example-item .class,.example-item .subject{border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.example-item .subject{background:#10b981}.example-item .teacher{background:#8b5cf6}.example-item .periods,.example-item .teacher{border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.example-item .periods{background:#f59e0b}.example-arrow{display:flex;justify-content:center;margin:16px 0}.arrow-icon{size:24px;color:#6b7280}.lessons-list{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.lesson-item{align-items:center;display:flex;font-size:14px;font-weight:500;gap:12px;padding:8px 0}.lesson-bullet{background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;width:8px}.lesson-class{background:#3b82f6;font-weight:600}.lesson-class,.lesson-subject{border-radius:4px;color:#fff;font-size:12px;padding:4px 8px}.lesson-subject{background:#10b981}.lesson-teacher{background:#8b5cf6}.lesson-id,.lesson-teacher{border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.lesson-id{background:#6b7280;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.steps-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:20px}.steps-title{color:#92400e;font-size:16px;font-weight:700;margin:0 0 16px}.steps-list{display:flex;flex-direction:column;gap:12px}.step-item{align-items:flex-start;gap:12px}.step-number{background:#f59e0b;color:#fff;flex-shrink:0;font-size:12px;font-weight:700;height:24px;width:24px}.step-content{color:#a16207;flex:1 1;font-size:14px;line-height:1.5}.processing-state{flex-direction:column;min-height:400px;text-align:center}.processing-icon,.processing-state{align-items:center;display:flex;justify-content:center}.processing-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;box-shadow:0 8px 32px #3b82f64d;height:80px;margin-bottom:24px;width:80px}.processing-icon .icon{size:32px;color:#fff}.processing-icon .icon.spinning{animation:spin 1s linear infinite}.processing-title{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 8px}.processing-subtitle{color:#64748b;font-size:16px;margin:0 0 24px}.processing-progress{max-width:100%;width:300px}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{animation:progress 2s ease-in-out infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;height:100%}@keyframes progress{0%{width:0}50%{width:70%}to{width:100%}}.success-state{flex-direction:column;min-height:400px;text-align:center}.success-icon,.success-state{align-items:center;display:flex;justify-content:center}.success-icon{background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 8px 32px #10b9814d;height:80px;margin-bottom:24px;width:80px}.success-icon .icon{size:32px;color:#fff}.success-title{color:#059669;font-size:24px;font-weight:700;margin:0 0 8px}.success-subtitle{color:#64748b;font-size:16px;margin:0 0 24px}.success-details{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:24px;max-width:500px;padding:20px}.success-details-title{color:#059669;font-size:16px;font-weight:700;margin:0 0 12px}.success-list{display:flex;flex-direction:column;gap:8px}.success-item{align-items:center;color:#047857;display:flex;font-size:14px;gap:8px}.success-item-icon{color:#10b981;flex-shrink:0}.success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.error-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.error-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;overflow:hidden;width:100%}.error-dialog-header{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);display:flex;gap:12px;padding:20px}.error-dialog-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.error-dialog-icon .icon{size:20px;color:#fff}.error-dialog-title{color:#fff;font-size:18px;font-weight:700;margin:0}.error-dialog-content{padding:24px}.error-main-message{color:#dc2626;font-size:16px;font-weight:700;margin-bottom:16px}.error-details{display:flex;flex-direction:column;gap:12px}.error-detail-item{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px}.error-detail-type{color:#dc2626;font-size:14px;font-weight:600;margin-bottom:4px}.error-detail-location{color:#991b1b;font-size:14px;font-weight:500;margin-bottom:4px}.error-detail-info{color:#7f1d1d;font-size:12px}.error-dialog-actions{background:#f8fafc;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:20px}.generation-actions,.success-actions{align-items:center;border-top:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 0}.close-btn{background:#6b7280;color:#fff}.close-btn:hover:not(:disabled){background:#4b5563;box-shadow:0 4px 12px #6b72804d}.generate-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b4d}.next-btn{background:#3b82f6;color:#fff}.next-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.clear-btn:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d}.fix-btn{background:#8b5cf6;color:#fff}.fix-btn:hover:not(:disabled){background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d}.retry-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.ok-btn{background:#10b981}.ok-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d}@media (max-width:1024px){.generation-container{padding:16px}.generation-actions,.success-actions{align-items:stretch;flex-direction:column}.action-btn{margin-bottom:8px;width:100%}}@media (max-width:768px){.generation-header-content{flex-direction:column;gap:12px;text-align:center}.generation-title{font-size:20px}.generation-subtitle{font-size:12px}.example-section{padding:16px}.example-item,.lesson-item{align-items:flex-start;flex-direction:column;gap:8px}.error-dialog-actions{flex-direction:column}.error-dialog-actions .action-btn{width:100%}}@media (max-width:480px){.generation-container{border-radius:12px;padding:12px}.generation-header{border-radius:12px;padding:16px}.example-section{border-radius:12px;padding:12px}.action-btn{font-size:13px;min-width:100px;padding:10px 16px}}.dataset-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 60px #0000001a;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;margin:0 auto;max-width:1200px;min-height:100vh;overflow:visible;padding:24px;position:relative}.dataset-container:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.dataset-header{background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:16px;box-shadow:0 4px 16px #3b82f633;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.dataset-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%,#ffffff0d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.dataset-header-content{align-items:center;display:flex;gap:16px;position:relative;z-index:1}.dataset-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.dataset-icon .icon{size:24px;color:#fff}.dataset-title-section{flex:1 1}.dataset-title{color:#fff;font-size:24px;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.dataset-subtitle{color:#ffffffe6;font-size:14px;font-weight:400;margin:4px 0 0}.dataset-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.open-timetable-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.section-header{border-bottom:2px solid #f1f5f9;margin-bottom:20px;padding-bottom:12px}.section-title{color:#1f2937;font-size:18px}.toggle-button{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.toggle-button:hover{background:#e2e8f0;border-color:#cbd5e1}.input-section{margin-bottom:20px}.dataset-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.dataset-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dataset-input::placeholder{color:#9ca3af}.input-info{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-top:8px}.char-count{color:#6b7280;font-weight:500}.char-limit{color:#9ca3af}.data-sets-list{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden}.list-header{align-items:center;background:#e2e8f0;border-bottom:1px solid #cbd5e1;display:flex;justify-content:space-between;padding:12px 16px}.list-title{color:#374151;font-size:14px;font-weight:600}.list-count{background:#fff;border-radius:12px;color:#6b7280;font-size:12px;padding:2px 8px}.list-container{max-height:300px;overflow-y:auto}.list-container::-webkit-scrollbar{width:6px}.list-container::-webkit-scrollbar-track{background:#f1f5f9}.list-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.list-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.list-item{background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;padding:12px 16px;transition:all .2s ease}.list-item:hover{background:#f8fafc}.list-item.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:4px solid #3b82f6}.list-item:last-child{border-bottom:none}.item-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.item-name{color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:600}.item-status{align-items:center;display:flex}.status-badge{padding:2px 8px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.draft{background:#fef3c7;color:#92400e}.item-details{display:flex;flex-direction:column;gap:2px}.item-date{color:#6b7280;font-size:11px}.directory-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.directory-tree{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.tree-container{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6}.directory-node{margin-bottom:2px}.directory-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:4px 8px;position:relative;transition:all .2s ease}.directory-item:hover{background:#e2e8f0}.directory-item.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;font-weight:600}.directory-item.data-set-item{background:#f0f9ff;border:1px solid #bae6fd}.directory-item.data-set-item:hover{background:#e0f2fe}.directory-icon{align-items:center;color:#6b7280;display:flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.directory-name{color:#374151;font-weight:500}.data-set-badge{background:#3b82f6;border-radius:4px;color:#fff;font-size:10px;font-weight:600;margin-left:auto;padding:2px 6px}.directory-children{margin-top:4px}.tree-info{align-items:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;display:flex;gap:8px;margin-top:16px;padding:12px}.info-icon{flex-shrink:0;font-size:16px}.info-text{color:#92400e;font-size:12px;line-height:1.4}.selected-info{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:12px;margin-top:20px;padding:20px}.info-header{align-items:center;display:flex;gap:8px;margin-bottom:16px}.info-header .icon{size:18px;color:#10b981}.info-title{color:#059669;font-size:16px;font-weight:700;margin:0}.info-details{display:flex;flex-direction:column;gap:8px}.detail-row{align-items:center;justify-content:space-between;padding:4px 0}.detail-label{color:#374151}.detail-value{color:#1f2937}.instructions-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;margin-top:20px;padding:20px}.instructions-title{color:#92400e;font-size:16px;font-weight:700;margin:0 0 12px}.instructions-content{color:#a16207;font-size:14px;line-height:1.6}.instructions-content p{margin:0 0 8px}.instructions-content strong{color:#92400e;font-weight:600}.dataset-actions{align-items:center;border-top:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 0}.action-group{display:flex;flex-wrap:wrap;gap:12px}.action-btn{font-weight:600;gap:8px;justify-content:center;min-width:120px;text-decoration:none;transition:all .2s ease}.action-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.action-btn:not(:disabled):hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.exit-btn{background:#6b7280;color:#fff}.exit-btn:hover:not(:disabled){background:#4b5563;box-shadow:0 4px 12px #6b72804d}.ok-btn{background:#3b82f6;color:#fff}.ok-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.create-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.create-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}@media (max-width:1024px){.dataset-container{padding:16px}.dataset-content{gap:16px;grid-template-columns:1fr}.dataset-actions{align-items:stretch;flex-direction:column}.action-group{justify-content:center}}@media (max-width:768px){.dataset-header-content{flex-direction:column;gap:12px;text-align:center}.dataset-title{font-size:20px}.dataset-subtitle{font-size:12px}.directory-section,.open-timetable-section{padding:16px}.section-title{font-size:16px}.action-btn{font-size:13px;min-width:100px;padding:10px 16px}}@media (max-width:480px){.dataset-container{border-radius:12px;padding:12px}.dataset-header{border-radius:12px;padding:16px}.directory-section,.open-timetable-section{border-radius:12px;padding:12px}.list-item{padding:8px 12px}.item-content{align-items:flex-start;gap:4px}.action-group,.item-content{flex-direction:column}}.school-timetable-management{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.management-header{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;overflow:hidden;padding:32px;position:relative}.management-header:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(45deg,#ffffff1a,#0000 50%,#ffffff1a);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%,to{transform:translateX(-100%)}50%{transform:translateX(100%)}}.header-content{gap:20px;position:relative;z-index:1}.header-content,.header-icon{align-items:center;display:flex}.header-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:16px;box-shadow:0 8px 25px #0000001a;height:56px;justify-content:center;width:56px}.header-text{flex:1 1}.main-title{font-size:32px;font-weight:800;letter-spacing:-.025em;margin:0 0 8px;text-shadow:0 2px 4px #0003}.subtitle{font-size:16px;font-weight:500;line-height:1.4;margin:0;opacity:.9}.navigation-bar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 20px #00000014;gap:24px;padding:20px 32px}.back-button,.navigation-bar{align-items:center;display:flex}.back-button{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;gap:8px;text-decoration:none}.back-button:hover{background:#e2e8f0;color:#374151;transform:translateX(-2px)}.nav-tabs{flex:1 1}.nav-tab,.nav-tabs{display:flex;gap:8px}.nav-tab{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;font-size:14px;font-weight:600;overflow:hidden;padding:12px 20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-tab:before{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border-radius:10px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.nav-tab:hover:before{opacity:1}.nav-tab:hover{border-color:#3b82f6;box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.nav-tab.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;box-shadow:0 6px 20px #3b82f666;color:#fff;transform:translateY(-1px)}.nav-tab.active:before{opacity:0}.main-content{margin:0 auto;max-width:1200px;padding:32px}.section-title{color:#1e293b;font-size:24px;font-weight:700;margin:0;padding-left:16px;position:relative}.section-title:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px;content:"";height:24px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.statistics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px;padding:0 4px}@media (min-width:1200px){.statistics-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:900px) and (max-width:1199px){.statistics-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:600px) and (max-width:899px){.statistics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:599px){.statistics-grid{gap:16px;grid-template-columns:1fr}}.stat-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;height:100%;justify-content:space-between;min-height:120px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-6px)}.stat-card:hover .stat-icon{transform:scale(1.1);transition:transform .3s cubic-bezier(.4,0,.2,1)}.stat-value{align-items:baseline;display:flex;gap:8px}.value-number{color:#1e293b;font-size:32px;font-weight:800;line-height:1}.value-unit{color:#64748b;font-size:16px;font-weight:600}.stat-label{color:#64748b;line-height:1.4}.stat-icon{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;box-shadow:0 4px 12px #3b82f64d;color:#fff;flex-shrink:0;height:56px;width:56px}.stat-emoji{font-size:24px;line-height:1}.stat-card-class{border-left:4px solid #3b82f6}.stat-card-class .stat-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 12px #3b82f64d}.stat-card-grade{border-left:4px solid #10b981}.stat-card-grade .stat-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.stat-card-elective{border-left:4px solid #f59e0b}.stat-card-elective .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.stat-card-distribution{border-left:4px solid #8b5cf6}.stat-card-distribution .stat-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d}.stat-card-teacher{border-left:4px solid #ef4444}.stat-card-teacher .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.stat-card-student{border-left:4px solid #06b6d4}.stat-card-student .stat-icon{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 12px #06b6d44d}.stat-card-elective-student{border-left:4px solid #84cc16}.stat-card-elective-student .stat-icon{background:linear-gradient(135deg,#84cc16,#65a30d);box-shadow:0 4px 12px #84cc164d}.statistics-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 4px 20px #00000014;margin-bottom:32px;overflow:hidden;padding:32px;position:relative}.statistics-section:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#10b981);content:"";height:4px;left:0;position:absolute;right:0;top:0}.statistics-grid{position:relative;z-index:1}.stat-card{animation-fill-mode:both}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.stat-card:nth-child(5){animation-delay:.5s}.stat-card:nth-child(6){animation-delay:.6s}.stat-card:nth-child(7){animation-delay:.7s}.placeholder-content{color:#64748b;font-size:16px;padding:48px;text-align:center}.placeholder-content,.search-filter-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014}.search-filter-section{align-items:center;display:flex;gap:20px;padding:24px}.search-container{flex:1 1}.search-input-wrapper{align-items:center}.search-icon{color:#64748b;left:16px;z-index:1}.search-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#1e293b;padding:12px 16px 12px 48px;transition:all .3s ease}.search-input:focus{background:#fff}.search-input::placeholder{color:#94a3b8}.filter-container{min-width:120px}.filter-dropdown{position:relative}.filter-button{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:space-between;padding:12px 16px;transition:all .3s ease;width:100%}.filter-button:hover{background:#e2e8f0;border-color:#3b82f6}.filter-options{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 25px #00000026;display:none;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.filter-dropdown:hover .filter-options{display:block}.filter-option{background:#fff;border:none;color:#64748b;cursor:pointer;display:block;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.filter-option:hover{background:#f8fafc;color:#3b82f6}.filter-option.active{background:#3b82f6;color:#fff}@media (max-width:1024px){.management-header{padding:24px}.main-title{font-size:28px}.subtitle{font-size:14px}.navigation-bar{align-items:stretch;flex-direction:column;gap:16px;padding:16px 24px}.nav-tabs{flex-wrap:wrap;justify-content:center}.main-content{padding:24px}.statistics-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.management-header{padding:20px}.header-content{flex-direction:column;gap:16px;text-align:center}.main-title{font-size:24px}.subtitle{font-size:13px}.navigation-bar{padding:12px 20px}.nav-tabs{gap:6px}.nav-tab{font-size:13px;padding:10px 16px}.main-content{padding:20px}.statistics-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:20px}.value-number{font-size:28px}.search-filter-section{flex-direction:column;gap:16px}.filter-container{min-width:auto;width:100%}}@media (max-width:480px){.management-header{padding:16px}.main-title{font-size:20px}.subtitle{font-size:12px}.navigation-bar{padding:10px 16px}.nav-tab{font-size:12px;padding:8px 12px}.main-content,.stat-card{padding:16px}.stat-card{flex-direction:column;gap:16px;text-align:center}.value-number{font-size:24px}.search-filter-section{padding:16px}}.stat-card{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.teacher-navigation{border-bottom:2px solid #f1f5f9;display:flex;gap:8px;margin-bottom:24px;padding:0 0 16px}.teacher-nav-tab{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;overflow:hidden;padding:12px 20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.teacher-nav-tab:before{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border-radius:10px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.teacher-nav-tab:hover:before{opacity:1}.teacher-nav-tab:hover{border-color:#3b82f6;box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.teacher-nav-tab.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;box-shadow:0 6px 20px #3b82f666;color:#fff;transform:translateY(-1px)}.teacher-nav-tab.active:before{opacity:0}.teacher-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.teacher-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:20px;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.teacher-stat-card:before{background:linear-gradient(90deg,#8b5cf6,#3b82f6);content:"";height:4px;left:0;position:absolute;right:0;top:0}.teacher-stat-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-4px)}.teacher-stat-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:16px;box-shadow:0 8px 25px #8b5cf64d;color:#fff;display:flex;height:56px;justify-content:center;width:56px}.teacher-stat-content{flex:1 1}.teacher-stat-value{color:#1e293b;font-size:32px;font-weight:800;line-height:1;margin-bottom:8px}.teacher-stat-label{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:4px}.teacher-stat-subtitle{color:#64748b;font-size:14px;font-weight:500}.teacher-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:32px}.teacher-card{align-items:center;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:16px;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.teacher-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:3px;left:0;position:absolute;right:0;top:0}.teacher-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-4px)}.teacher-avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 4px 12px #3b82f64d;font-size:18px;font-weight:700;height:48px;width:48px}.teacher-info{flex:1 1}.teacher-name{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:4px}.teacher-role{color:#64748b;font-size:14px;font-weight:500;margin-bottom:2px}.teacher-subject{color:#94a3b8;font-size:13px;font-weight:500}.view-details-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.view-details-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.class-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:32px}.class-card{align-items:center;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:16px;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.class-card:before{background:linear-gradient(90deg,#10b981,#3b82f6);content:"";height:3px;left:0;position:absolute;right:0;top:0}.class-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-4px)}.class-icon{align-items:center;background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:12px;box-shadow:0 4px 12px #10b9814d;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.class-info{flex:1 1}.class-code{color:#1e293b;font-size:18px;font-weight:700;margin-bottom:4px}.class-grade{color:#64748b;font-size:14px;font-weight:500;margin-bottom:2px}.class-letter{color:#94a3b8;font-size:12px;font-weight:500}.view-timetable-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.view-timetable-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.subject-management{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.subject-group{border-bottom:1px solid #e2e8f0;margin-bottom:32px;padding-bottom:24px}.subject-group:last-child{border-bottom:none;margin-bottom:0}.subject-group-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.subject-group-title{color:#1e293b;font-size:18px;font-weight:700;margin:0}.subject-group-count{color:#64748b;font-size:14px;font-weight:500}.manage-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:8px 16px;transition:all .3s ease}.manage-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.subject-teachers-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.subject-teacher-card{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.subject-teacher-card:hover{border-color:#3b82f6;box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.subject-teacher-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.subject-teacher-info{flex:1 1}.subject-teacher-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px}.subject-teacher-status{color:#64748b;font-size:12px}.group-management{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.group-categories{margin-top:24px}.group-category-title{border-bottom:2px solid #f1f5f9;color:#1e293b;font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:12px}.group-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.group-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .3s ease}.group-card:hover{border-color:#3b82f6;box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.group-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.group-card-title h4{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 4px}.group-card-subtitle{color:#64748b;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.group-member-count{color:#94a3b8;font-size:12px;font-weight:500}.group-members-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.group-member-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px;text-align:center;transition:all .3s ease}.group-member-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.group-member-avatar{align-items:center;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.group-member-name{color:#1e293b;font-size:12px;font-weight:600;margin-bottom:2px}.group-member-status{color:#64748b;font-size:10px}.download-btn{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.download-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.back-button:focus,.download-btn:focus,.filter-button:focus,.manage-btn:focus,.nav-tab:focus,.search-input:focus,.teacher-nav-tab:focus,.view-details-btn:focus,.view-timetable-btn:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.nav-tab.active:focus,.teacher-nav-tab.active:focus{box-shadow:0 6px 20px #3b82f666,0 0 0 3px #3b82f64d}.lunchbox-module{background-color:#f9fafb;min-height:100vh}.lunchbox-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;justify-content:space-between;padding:1rem 1.5rem}.lunchbox-header h1{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.lunchbox-nav{display:flex;gap:.5rem}.lunchbox-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.lunchbox-home{margin:0 auto;max-width:4xl}.home-header{margin-bottom:2rem;text-align:center}.home-header h2{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.home-header p{color:#6b7280;font-size:1.125rem}.stats-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:3rem}.stat-card{border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a}.stat-icon{background:#f3f4f6}.stat-content h3{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.lunchbox-types-section{margin-bottom:3rem}.lunchbox-types-section h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.lunchbox-types-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.lunchbox-type-card{background:#fff;border-left:4px solid;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.lunchbox-type-card.orange{border-left-color:#f97316}.lunchbox-type-card.blue{border-left-color:#3b82f6}.lunchbox-type-card.red{border-left-color:#ef4444}.lunchbox-type-card.green{border-left-color:#10b981}.lunchbox-type-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.lunchbox-icon{align-items:center;background:#f3f4f6;border-radius:.5rem;display:flex;font-size:2rem;height:3rem;justify-content:center;width:3rem}.lunchbox-type-info h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.lunchbox-type-info h5{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.lunchbox-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.quick-actions-section{margin-bottom:3rem}.quick-actions-section h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.quick-actions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.action-btn{align-items:center;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1rem;padding:1.5rem;text-align:left}.action-btn:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.action-btn.primary{background:#eff6ff}.action-btn.primary:hover{background:#dbeafe}.action-icon{align-items:center;background:#f3f4f6;border-radius:.5rem;display:flex;font-size:2rem;height:3rem;justify-content:center;width:3rem}.action-btn.primary .action-icon{background:#dbeafe}.action-content h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.action-content p{color:#6b7280;font-size:.875rem;margin:0}.class-list-section h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.class-list-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.class-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;padding:.75rem;text-align:center}.lunchbox-calendar{margin:0 auto;max-width:6xl}.calendar-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.calendar-day.holiday{background:#f3f4f6;color:#9ca3af}.day-status{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;margin-bottom:.25rem;padding:.125rem .375rem}.day-status.holiday{background:#f3f4f6;color:#6b7280}.day-status.has-menu{background:#dcfce7;color:#166534}.day-records{flex-wrap:wrap;gap:.125rem}.record-tag{border-radius:.125rem;color:#fff;font-size:.625rem;font-weight:500;padding:.125rem .25rem}.record-tag.a{background:#f97316}.record-tag.b{background:#3b82f6}.record-tag.c{background:#ef4444}.record-tag.d{background:#10b981}.record-count{color:#6b7280;font-size:.625rem;font-weight:500}.selected-date-details{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.date-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.date-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.add-record-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.add-record-btn:hover{background:#2563eb}.lunchbox-menu{margin-bottom:2rem}.menu-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.menu-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.toggle-btn{background:#6b7280;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.toggle-btn:hover{background:#4b5563}.menu-content{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.menu-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.menu-card{border:1px solid #e5e7eb;border-left:4px solid;border-radius:.5rem;padding:1rem}.menu-card.orange{border-left-color:#f97316}.menu-card.blue{border-left-color:#3b82f6}.menu-card.red{border-left-color:#ef4444}.menu-card.green{border-left-color:#10b981}.menu-card-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.menu-icon{font-size:1.5rem}.menu-type-info h5{color:#1f2937;font-size:.875rem;font-weight:600;margin:0}.menu-type-info h6{color:#6b7280;font-size:.75rem;margin:.125rem 0 0}.menu-dish p{color:#374151;font-size:.875rem;line-height:1.4;margin:0}.holiday-notice{font-style:italic}.holiday-notice,.no-menu{color:#6b7280;padding:2rem;text-align:center}.lunchbox-records{margin-bottom:2rem}.records-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.records-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.filters{flex-wrap:wrap;gap:1rem}.filter-group select{border-radius:.25rem;font-size:.875rem;padding:.375rem .75rem}.records-list{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.record-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s}.record-item:hover{background:#f9fafb}.record-item:last-child{border-bottom:none}.record-info{align-items:center;display:flex;gap:1rem}.record-class{color:#1f2937;font-weight:600;min-width:3rem}.record-student{display:flex;flex-direction:column;gap:.125rem}.student-id{color:#6b7280;font-size:.75rem}.student-name{color:#374151}.record-type{align-items:center;border-radius:.375rem;color:#fff;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.375rem .75rem}.record-type.orange{background:#f97316}.record-type.blue{background:#3b82f6}.record-type.red{background:#ef4444}.record-type.green{background:#10b981}.type-icon{font-size:.875rem}.no-records{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.records-stats{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.records-stats h5{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.stats-grid{grid-gap:.75rem;gap:.75rem}.stat-item{align-items:center;color:#fff;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.5rem .75rem}.stat-item.orange{background:#f97316}.stat-item.blue{background:#3b82f6}.stat-item.red{background:#ef4444}.stat-item.green{background:#10b981}.stat-icon{font-size:.875rem}.stat-count{font-weight:600;margin-left:auto}.modal-overlay{padding:1rem}.modal-content{border-radius:.75rem;width:100%}.modal-header{padding:1.5rem 1.5rem 0}.close-btn{line-height:1}.modal-body{padding:1.5rem}.date-info{background:#f3f4f6;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.date-info p{color:#374151;margin:0}.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem}.form-group select{border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem}.form-group select:disabled{background:#f9fafb;color:#9ca3af}.loading-text{color:#6b7280;font-size:.75rem;margin-top:.25rem}.lunchbox-type-selector{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.type-option{align-items:center;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s}.type-option:hover{border-color:#d1d5db}.type-option.selected{background:#eff6ff;border-color:#3b82f6}.type-option input[type=radio]{margin:0}.type-label{color:#374151;font-size:.875rem;font-weight:500}.form-actions{gap:.75rem;margin-top:2rem;padding-top:1.5rem}.btn-secondary{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-secondary:hover{background:#4b5563}.btn-primary{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-primary:hover{background:#2563eb}@media (max-width:768px){.lunchbox-header{align-items:stretch;flex-direction:column;gap:1rem}.lunchbox-nav{justify-content:center}.lunchbox-types-grid,.quick-actions-grid,.stats-section{grid-template-columns:1fr}.class-list-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.calendar-navigation{flex-direction:column;gap:.5rem}.calendar-navigation h3{min-width:auto}.records-header{align-items:stretch;flex-direction:column}.filters{justify-content:center}.lunchbox-type-selector{grid-template-columns:1fr}.form-actions{flex-direction:column}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}.lesson-plan-module{background-color:#f9fafb;min-height:100vh}.lesson-plan-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.lesson-plan-header h1{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.lesson-plan-nav{display:flex;flex-wrap:wrap;gap:.5rem}.lesson-plan-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.timetable-container{grid-template-columns:1fr 300px}.time-header{min-width:100px}.day-header{min-width:200px}.lesson-cell,.timetable-table td{min-height:80px}.course-details-system{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.course-details-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.course-details-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.course-details-nav{border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:2rem}.course-details-content{min-height:400px}.course-schedule{margin:0 auto;max-width:4xl}.schedule-header{margin-bottom:2rem;text-align:center}.schedule-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.schedule-header p{color:#6b7280;margin:0}.empty-schedule{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-schedule .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-schedule h4{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-schedule p{margin:0}.schedule-list{display:flex;flex-direction:column;gap:1.5rem}.course-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1.5rem;padding:1.5rem}.course-time{min-width:120px;text-align:center}.time-slot{color:#1f2937;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.time-number{color:#6b7280;font-size:.75rem}.course-content{flex:1 1}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.course-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.status-badge{border-radius:.375rem;padding:.25rem .75rem}.course-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{align-items:flex-start;display:flex;gap:.5rem}.detail-label{min-width:5rem}.detail-value{flex:1 1}.schedule-summary{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.homework-management{margin:0 auto;max-width:4xl}.homework-header{margin-bottom:2rem;text-align:center}.homework-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.homework-header p{color:#6b7280;margin:0}.priority-breakdown{margin-top:1.5rem}.priority-breakdown h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.priority-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.priority-stat{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.priority-count{color:#1f2937;font-size:1.25rem;font-weight:700}.priority-label{color:#6b7280;font-size:.75rem}.calendar-day{min-height:100px}.calendar-day.has-data{background:#f0fdf4}.day-indicators{display:flex;flex-direction:column;gap:.125rem}.indicator{border-radius:.125rem;font-size:.625rem;padding:.125rem .25rem;text-align:center}.indicator.courses{background:#dbeafe;color:#1e40af}.indicator.homework{background:#fef3c7;color:#92400e}.legend-items{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.lesson-plan-header{align-items:stretch;flex-direction:column}.lesson-plan-nav{justify-content:center}.classes-grid,.detailed-stats,.stats-grid,.students-grid,.teachers-grid,.timetable-container{grid-template-columns:1fr}.timetable-header{align-items:stretch;flex-direction:column}.timetable-legend{justify-content:center}.course-details-header{align-items:stretch;flex-direction:column}.course-details-nav{flex-wrap:wrap}.course-item,.homework-item{flex-direction:column;gap:1rem}.course-time,.homework-priority{min-width:auto;text-align:left}.priority-stats,.summary-stats{grid-template-columns:repeat(2,1fr)}.calendar-navigation{flex-direction:column;gap:.5rem}.calendar-navigation h4{min-width:auto}.legend-items{grid-template-columns:1fr}}.homework-module{background-color:#f9fafb;min-height:100vh}.homework-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.homework-header h1{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.homework-nav{display:flex;flex-wrap:wrap;gap:.5rem}.homework-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.stat-details{margin-top:.5rem}.detail-item{color:#6b7280}.class-level-distribution h4,.subjects-overview h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.distribution-grid{display:flex;flex-direction:column;gap:.5rem}.distribution-item{align-items:center;display:flex;gap:.75rem}.level-name{color:#374151;font-size:.875rem;font-weight:500;min-width:2rem}.level-bar{background:#e5e7eb;border-radius:.25rem;flex:1 1;height:.5rem;overflow:hidden}.level-fill{background:#3b82f6;height:100%;transition:width .3s ease}.level-count{color:#1f2937;font-size:.875rem;font-weight:600;min-width:1.5rem;text-align:right}.subject-tag{background:#e5e7eb;color:#374151}.subject-tag.more{background:#d1d5db;color:#6b7280}.search-filter{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:2rem;padding:1.5rem}.search-section{margin-bottom:1rem}.search-input-group{max-width:400px;position:relative}.search-input{border-radius:.5rem;padding:.75rem 1rem .75rem 2.5rem;transition:border-color .2s;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{color:#6b7280;font-size:1rem;left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.filter-section{margin-bottom:1rem}.filter-group{gap:.75rem}.filter-label{color:#374151;font-size:.875rem;font-weight:500}.results-info{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-top:1rem}.results-count{color:#6b7280;font-size:.875rem}.clear-filters-btn{border:none;border-radius:.25rem;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.section-header p{color:#6b7280;margin:0}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.class-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;cursor:pointer;padding:1.5rem;transition:all .2s}.class-card:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.class-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.class-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.class-info p{color:#6b7280;font-size:.875rem;margin:0}.class-level{border-radius:.375rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.class-details{margin-bottom:1rem}.detail-item{margin-bottom:.5rem}.detail-label{color:#6b7280;font-size:.875rem;min-width:4rem}.detail-value{color:#374151;font-size:.875rem;font-weight:500}.class-actions{display:flex;justify-content:center}.action-btn{background:#3b82f6;border:1px solid #3b82f6;border-radius:.375rem;color:#fff;font-size:.875rem;padding:.5rem 1rem}.action-btn:hover{background:#2563eb;border-color:#2563eb}.action-btn.primary{border-color:#3b82f6}.teachers-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.teacher-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;cursor:pointer;padding:1.5rem;transition:all .2s}.teacher-card:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.teacher-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.teacher-avatar{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:1.25rem;font-weight:600;height:3rem;justify-content:center;width:3rem}.teacher-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.teacher-info p{color:#6b7280;font-size:.875rem;margin:0}.subjects-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.subject-tag{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.contact-info{margin-top:.5rem}.contact-item{color:#374151;font-size:.875rem;margin:.25rem 0}.students-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.student-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.student-card:hover{box-shadow:0 4px 6px -1px #0000001a}.student-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.student-avatar{background:#10b981;font-size:1.25rem;height:3rem;width:3rem}.student-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.student-info p{font-size:.875rem}.class-badge{border-radius:.375rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.electives-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.elective-tag{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.empty-state{padding:3rem 1rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.timetable-system{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.timetable-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.timetable-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.timetable-controls{align-items:center;flex-wrap:wrap}.timetable-controls,.timetable-legend{display:flex;gap:1rem}.legend-color.core{background:#dbeafe;border:1px solid #3b82f6}.legend-color.elective{background:#e9d5ff;border:1px solid #8b5cf6}.info-toggle-btn{align-items:center;background:#6b7280;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.info-toggle-btn:hover{background:#4b5563}.info-toggle-btn.active{background:#3b82f6}.info-toggle-btn.active:hover{background:#2563eb}.timetable-container{grid-gap:2rem;display:grid;gap:2rem;transition:grid-template-columns .3s ease}.timetable-container.with-info{grid-template-columns:1fr 300px}.timetable-container.without-info{grid-template-columns:1fr}.timetable-grid{overflow-x:auto}.timetable-table{border:1px solid #e5e7eb;border-collapse:collapse;border-radius:.5rem;overflow:hidden;width:100%}.timetable-table th{background:#f9fafb;border:1px solid #e5e7eb;color:#374151;font-weight:600;padding:.75rem;text-align:center}.time-header{min-width:37px}.day-header{min-width:73px}.timetable-table td{border:1px solid #e5e7eb;min-height:55px;padding:.5rem;vertical-align:top}.even-row{background:#f9fafb}.odd-row{background:#fff}.time-cell{background:#f3f4f6;color:#374151;font-size:.875rem;font-weight:500;text-align:center}.lesson-cell{cursor:pointer;min-height:55px;transition:all .2s}.lesson-cell:hover{background:#f0f9ff}.lesson-cell.has-lesson{cursor:pointer}.lesson-cell.empty-lesson{background:#f9fafb;cursor:default}.lesson-content{text-align:center}.lesson-subject{color:#1f2937;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.lesson-classroom,.lesson-teacher{color:#6b7280;font-size:.75rem;margin-bottom:.25rem}.lesson-type{background:#fffc;border-radius:.125rem;color:#6b7280;display:inline-block;font-size:.625rem;padding:.125rem .25rem}.empty-lesson-content{color:#9ca3af;font-size:.75rem;text-align:center}.timetable-info{background:#f9fafb;border-radius:.5rem;padding:1.5rem}.info-section{margin-bottom:1.5rem}.info-section:last-child{margin-bottom:0}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{color:#6b7280;font-size:.875rem;margin-bottom:.5rem;padding-left:1rem;position:relative}.info-section li:before{color:#3b82f6;content:"•";left:0;position:absolute}.homework-calendar{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.homework-calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.homework-calendar-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.date-selector{align-items:center;display:flex;gap:.5rem}.date-input{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem}.homework-calendar-nav{border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:2rem}.nav-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.nav-tab:hover{color:#374151}.nav-tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.homework-calendar-content{min-height:400px}.calendar-view{margin:0 auto;max-width:4xl}.calendar-header{text-align:center}.calendar-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.calendar-header p{color:#6b7280;margin:0}.calendar-navigation h4{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0;min-width:200px;text-align:center}.calendar-day.has-homework{background:#f0fdf4}.day-homework{display:flex;flex-direction:column;gap:.125rem}.homework-preview{align-items:center;border-radius:.125rem;display:flex;font-size:.625rem;gap:.125rem;padding:.125rem .25rem;text-align:center}.homework-icon{font-size:.75rem}.homework-subject{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-homework{color:#6b7280;font-size:.625rem;font-style:italic;text-align:center}.legend-color.today{background:#3b82f6}.legend-color.selected{background:#10b981}.legend-color.has-homework{background:#22c55e}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.homework-list-view{margin:0 auto;max-width:4xl}.homework-list-header{margin-bottom:2rem;text-align:center}.homework-list-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.homework-list-header p{color:#6b7280;margin:0}.empty-homework{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-homework .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-homework h4{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-homework p{margin:0}.homework-list{display:flex;flex-direction:column;gap:1.5rem}.homework-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1.5rem;padding:1.5rem}.homework-priority{align-items:center;display:flex;flex-direction:column;gap:.5rem;min-width:120px;text-align:center}.priority-icon{font-size:1.5rem}.priority-badge{border:1px solid;border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.homework-content{flex:1 1}.homework-header-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.homework-title-section{align-items:center;display:flex;gap:.5rem}.assignment-type-icon{font-size:1.25rem}.homework-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.homework-details{display:flex;flex-direction:column;gap:.5rem}.overdue-text{color:#dc2626;font-weight:600}.overdue-indicator{color:#dc2626;font-size:.75rem}.homework-summary{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:2rem}.stat-item{padding:1rem}.stat-label{font-size:.875rem}.assignment-type-breakdown,.priority-breakdown{margin-bottom:1.5rem}.assignment-type-breakdown h4,.priority-breakdown h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.priority-stats,.type-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.priority-stat,.type-stat{align-items:center;background:#f9fafb;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.priority-count,.type-count{color:#1f2937;font-size:1.25rem;font-weight:700}.priority-label,.type-label{color:#6b7280;font-size:.75rem}.type-icon{font-size:1.25rem}@media (max-width:768px){.homework-header{align-items:stretch;flex-direction:column}.homework-nav{justify-content:center}.classes-grid,.detailed-stats,.stats-grid,.students-grid,.teachers-grid{grid-template-columns:1fr}.timetable-container,.timetable-container.with-info,.timetable-container.without-info{grid-template-columns:1fr!important}.timetable-header{align-items:stretch;flex-direction:column}.timetable-controls{align-items:center;flex-direction:column;gap:.5rem}.info-toggle-btn,.timetable-legend{justify-content:center}.info-toggle-btn{width:100%}.homework-calendar-header{align-items:stretch;flex-direction:column}.homework-calendar-nav{flex-wrap:wrap}.homework-item{flex-direction:column;gap:1rem}.homework-priority{min-width:auto;text-align:left}.priority-stats,.summary-stats,.type-stats{grid-template-columns:repeat(2,1fr)}.calendar-navigation{flex-direction:column;gap:.5rem}.calendar-navigation h4{min-width:auto}.legend-items{grid-template-columns:1fr}.calendar-day{min-height:80px}}.slp-module{background-color:#f9fafb;min-height:100vh}.slp-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.slp-header h1{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.slp-nav{display:flex;flex-wrap:wrap;gap:.5rem}.slp-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem}.category-distribution h4,.grade-distribution h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.category-stats,.grade-stats{display:flex;flex-direction:column;gap:.5rem}.category-stat-item,.grade-stat-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.category-info,.grade-info{align-items:center;display:flex;gap:.5rem}.category-name,.grade-name{color:#374151;font-size:.875rem;font-weight:500}.category-count,.grade-count{color:#6b7280;font-size:.875rem}.grade-bar{background:#e5e7eb;border-radius:.25rem;flex:1 1;height:.5rem;margin:0 1rem;overflow:hidden}.grade-fill{background:#3b82f6;height:100%;transition:width .3s ease}.grade-percentage{color:#6b7280;font-size:.75rem;min-width:2rem;text-align:right}.monthly-activity-chart{margin-bottom:1.5rem}.monthly-activity-chart h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.calendar-view{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.calendar-controls{grid-gap:1rem;background:#f9fafb;border-radius:.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem;padding:1rem}.calendar-controls label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.category-select,.grade-select,.month-select,.year-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;width:100%}.slp-management-btn{align-self:end;background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.slp-management-btn:hover{background:#2563eb}.calendar-navigation{justify-content:center;margin-bottom:2rem}.calendar-day{min-height:120px}.calendar-day.has-activities{background:#f0fdf4}.day-activities{display:flex;flex-direction:column;gap:.125rem}.activity-preview{align-items:center;border-radius:.125rem;cursor:pointer;display:flex;font-size:.625rem;gap:.125rem;padding:.125rem .25rem;text-align:center;transition:opacity .2s}.activity-preview:hover{opacity:.8}.activity-preview.blue{background:#dbeafe;color:#1e40af}.activity-preview.green{background:#dcfce7;color:#166534}.activity-preview.purple{background:#e9d5ff;color:#7c3aed}.activity-preview.yellow{background:#fef3c7;color:#92400e}.activity-preview.red{background:#fee2e2;color:#dc2626}.activity-preview.darkred{background:#fecaca;color:#991b1b}.activity-preview.darkgreen{background:#d1fae5;color:#065f46}.activity-preview.darkblue{background:#dbeafe;color:#1e3a8a}.activity-preview.orange{background:#fed7aa;color:#ea580c}.activity-icon{font-size:.75rem}.activity-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-activities{color:#6b7280;font-size:.625rem;font-style:italic;text-align:center}.legend-icon{font-size:1rem}.activity-list{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.activity-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.activity-list-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.activity-filters,.activity-stats{display:flex;gap:1rem}.activity-filters{align-items:center;background:#f9fafb;border-radius:.5rem;flex-wrap:wrap;margin-bottom:2rem;padding:1rem}.filter-group{align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;min-width:150px;padding:.5rem .75rem}.add-activity-btn{background:#10b981;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-left:auto;padding:.5rem 1rem;transition:background-color .2s}.add-activity-btn:hover{background:#059669}.activities-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.activity-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s}.activity-card:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.activity-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.category-icon{font-size:1.25rem}.category-label{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.category-label.blue{background:#dbeafe;color:#1e40af}.category-label.green{background:#dcfce7;color:#166534}.category-label.purple{background:#e9d5ff;color:#7c3aed}.category-label.yellow{background:#fef3c7;color:#92400e}.category-label.red{background:#fee2e2;color:#dc2626}.category-label.darkred{background:#fecaca;color:#991b1b}.category-label.darkgreen{background:#d1fae5;color:#065f46}.category-label.darkblue{background:#dbeafe;color:#1e3a8a}.category-label.orange{background:#fed7aa;color:#ea580c}.activity-duration{color:#6b7280;font-size:.875rem;font-weight:500}.activity-content{margin-bottom:1rem}.activity-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.activity-title-en{color:#6b7280;font-size:1rem;font-style:italic;margin:0 0 1rem}.activity-details{display:flex;flex-direction:column;gap:.5rem}.activity-description,.activity-details{margin-bottom:1rem}.activity-description p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.activity-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem}.category-tag{background:#e5e7eb;color:#374151}.duration-tag{background:#dbeafe;color:#1e40af}.grade-tag{background:#dcfce7;color:#166534}.activity-actions{display:flex;gap:.5rem;justify-content:flex-end}.action-btn{background:#fff;border:1px solid #d1d5db;border-radius:.25rem;color:#374151;font-size:.75rem;padding:.375rem .75rem}.action-btn:hover{background:#f3f4f6}.details-btn:hover{background:#dcfce7;border-color:#10b981;color:#166534}.empty-activities{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-activities .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-activities h3{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-activities p{margin:0 0 1rem}.activity-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.activity-form{background:#fff;border-radius:.75rem;box-shadow:0 10px 25px -3px #0000001a;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.activity-form-content,.form-header{padding:1.5rem}.form-section{margin-bottom:2rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.checkbox-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-label input[type=checkbox]{margin:0;width:auto}.select-students-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.select-students-btn:hover{background:#2563eb}.selected-students{background:#f9fafb;border-radius:.5rem;margin-top:1rem;padding:1rem}.selected-students h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.selected-student-list{display:flex;flex-wrap:wrap;gap:.5rem}.selected-student-tag{background:#dbeafe;border-radius:.25rem;color:#1e40af;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.student-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.student-selector{background:#fff;border-radius:.75rem;box-shadow:0 10px 25px -3px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.selector-controls{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1rem 1.5rem}.search-input{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem}.selector-actions{display:flex;gap:.5rem}.selector-actions button{background:#6b7280;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.selector-actions button:hover{background:#4b5563}.student-list{flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.student-item{align-items:center;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:.75rem;transition:background-color .2s}.student-item:hover{background:#f9fafb}.student-item input[type=checkbox]{margin:0;width:auto}.student-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.student-name{color:#1f2937;font-size:.875rem;font-weight:500}.student-class,.student-id{color:#6b7280;font-size:.75rem}.student-records{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.student-records-header{margin-bottom:2rem;text-align:center}.student-records-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.student-records-header p{color:#6b7280;margin:0}.student-selection{margin-bottom:2rem}.student-selection h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.students-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.student-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.student-card:hover{background:#f3f4f6;border-color:#3b82f6}.student-card.selected{background:#eff6ff;border-color:#3b82f6}.student-avatar{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:600;height:2.5rem;justify-content:center;width:2.5rem}.avatar-text{line-height:1}.student-info h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.student-info p{color:#6b7280;font-size:.75rem;margin:0}.student-details{margin-top:2rem}.student-profile{background:#f9fafb;border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.profile-header{gap:1rem;margin-bottom:1rem}.profile-avatar{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;font-size:1.25rem;font-weight:600;height:3rem;justify-content:center;width:3rem}.profile-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.profile-info p{color:#6b7280;font-size:.875rem;margin:0}.profile-stats{display:flex;gap:1rem}.records-analysis{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.analysis-section h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.achievement-stats,.category-stats{display:flex;flex-direction:column;gap:.5rem}.achievement-stat,.category-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;display:flex;gap:.5rem;padding:.5rem}.category-name{flex:1 1}.achievement-count,.category-count{color:#1f2937;font-size:.875rem;font-weight:600}.achievement-badge{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.records-list h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.empty-records{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-records .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-records h5{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.empty-records p{margin:0}.records-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.record-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.record-header{margin-bottom:1rem}.activity-category{align-items:center;display:flex;gap:.5rem}.category-icon{font-size:1rem}.category-name{color:#374151;font-size:.875rem;font-weight:500}.record-content h5{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .75rem}.record-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{color:#374151;font-size:.875rem;gap:.5rem}.detail-icon{font-size:1rem;min-width:1rem}.detail-text{flex:1 1}.record-notes{background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;padding:.75rem}.record-notes h6{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.record-notes p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.no-student-selected{color:#6b7280;padding:3rem 1rem;text-align:center}.no-student-selected .empty-icon{font-size:3rem;margin-bottom:1rem}.no-student-selected h3{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.no-student-selected p{margin:0}@media (max-width:768px){.slp-header{align-items:stretch;flex-direction:column}.slp-nav{justify-content:center}.calendar-controls,.detailed-stats,.stats-grid{grid-template-columns:1fr}.calendar-navigation{flex-direction:column;gap:.5rem}.calendar-navigation h3{min-width:auto}.activities-grid{grid-template-columns:1fr}.activity-filters{align-items:stretch;flex-direction:column}.add-activity-btn{margin-left:0}.checkbox-group,.form-row,.legend-items,.records-analysis,.records-grid,.students-grid{grid-template-columns:1fr}.chart-bars{gap:.25rem}.bar-label{font-size:.625rem}.system-info{align-items:stretch;flex-direction:column}}.sdr-module{background-color:#f9fafb;min-height:100vh;position:relative}.sdr-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.back-btn{background:#6b7280;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.back-btn:hover{background:#4b5563}.sdr-header h1{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.sdr-nav{display:flex;flex-wrap:wrap;gap:.5rem}.nav-btn{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.nav-btn:hover{background:#f3f4f6;border-color:#9ca3af}.nav-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.sdr-content{margin:0 auto;max-width:80rem;padding:1.5rem 1rem 8rem}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.loading-spinner{border:2px solid #f3f4f6;height:2rem;margin-bottom:1rem;width:2rem}.error-container p{color:#ef4444;font-size:1.125rem;margin-bottom:1rem}.retry-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.retry-btn:hover{background:#2563eb}.statistics-panel{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:2rem;padding:1.5rem}.stats-header{margin-bottom:1.5rem;text-align:center}.stats-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.stats-header p{color:#6b7280;margin:0}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#f9fafb;gap:1rem;padding:1.5rem}.stat-icon{background:#fff;border-radius:.5rem;box-shadow:0 1px 2px 0 #0000000d;font-size:2rem;height:3rem;width:3rem}.stat-content h4{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.stat-number{font-size:2rem}.stat-content p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.detailed-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.department-distribution h4,.leave-type-distribution h4,.status-distribution h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.department-stats,.leave-type-stats,.status-stats{display:flex;flex-direction:column;gap:.5rem}.department-stat-item,.leave-type-stat-item,.status-stat-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.department-info,.leave-type-info,.status-info{align-items:center;display:flex;gap:.5rem}.department-icon,.leave-type-icon,.status-icon{font-size:1rem}.department-name,.leave-type-name,.status-name{color:#374151;font-size:.875rem;font-weight:500}.department-count,.leave-type-count,.status-count{color:#6b7280;font-size:.875rem}.monthly-record-chart{margin-bottom:1.5rem}.monthly-record-chart h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.chart-container{background:#f9fafb;border-radius:.5rem;padding:1rem}.chart-bars{align-items:end;display:flex;gap:.5rem;height:200px;padding:1rem 0}.chart-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem}.bar-fill{border-radius:.25rem .25rem 0 0;min-height:4px;transition:height .3s ease;width:100%}.bar-label{color:#6b7280;font-size:.75rem;text-align:center;text-orientation:mixed;writing-mode:vertical-rl}.bar-value{color:#374151;font-size:.75rem;font-weight:600}.system-info{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1rem}.info-item{align-items:center;gap:.5rem}.info-value{font-weight:500}.status-active{color:#059669}.sdr-calendar-view{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.calendar-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}.calendar-header,.calendar-navigation{align-items:center;display:flex;gap:1rem}.calendar-navigation h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0;min-width:200px;text-align:center}.monthly-stats{display:flex;gap:1rem}.stat-item{border-radius:.5rem;padding:.75rem 1rem}.calendar-grid{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:2rem;overflow:hidden}.calendar-header-row{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{color:#374151;font-size:.875rem;font-weight:600;padding:.75rem;text-align:center}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;cursor:pointer;min-height:150px;padding:.5rem;position:relative;transition:background-color .2s}.calendar-day:hover{background:#f9fafb}.calendar-day.selected{background:#eff6ff;border-color:#3b82f6}.calendar-day.today{background:#dbeafe;border-color:#3b82f6}.calendar-day.has-records{background:#f0fdf4}.calendar-day.empty{background:#f9fafb;cursor:default}.day-number{color:#374151;font-weight:600;margin-bottom:.25rem}.day-records{display:flex;flex-direction:column;gap:.25rem}.record-card{border:1px solid;border-radius:.25rem;cursor:pointer;font-size:.625rem;padding:.25rem;transition:all .2s}.record-card:hover{box-shadow:0 2px 4px #0000001a;transform:scale(1.02)}.record-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.125rem}.record-icon{font-size:.75rem}.record-status{background:#ffffffb3;border-radius:.125rem;font-size:.5rem;font-weight:500;padding:.125rem .25rem}.record-content{margin-bottom:.125rem}.teacher-name{font-weight:600;margin-bottom:.0625rem}.department,.leave-type{font-size:.5rem;opacity:.8}.record-actions{display:flex;gap:.125rem;justify-content:flex-end}.action-btn{background:none;border-radius:.125rem;font-size:.5rem;padding:.0625rem;transition:background-color .2s}.action-btn:hover{background:#0000001a}.edit-btn:hover{background:#3b82f633}.delete-btn:hover{background:#ef444433}.calendar-legend{background:#f9fafb;border-radius:.5rem;margin-bottom:1rem;padding:1.5rem}.calendar-legend h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.legend-items{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.legend-item{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:.5rem}.legend-color{border:1px solid #0000001a;border-radius:.25rem;height:1rem;width:1rem}.legend-label{font-weight:500}.calendar-instructions{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;padding:1rem}.instruction-item{align-items:center;color:#0c4a6e;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.instruction-item:last-child{margin-bottom:0}.instruction-icon{font-size:1rem}.instruction-text{font-weight:500}.sdr-record-form{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.form-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.form-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.close-btn{border-radius:.25rem;font-size:1.5rem;padding:.25rem;transition:background-color .2s}.close-btn:hover{background:#f3f4f6}.sdr-form-content{display:flex;flex-direction:column;gap:2rem}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.form-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.form-row{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group,.form-row{margin-bottom:1rem}.form-group label{font-size:.875rem;margin-bottom:.25rem}.form-group label.required:after{color:#ef4444;content:" *"}.form-group input,.form-group select,.form-group textarea{border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.error-message{color:#ef4444;display:block;font-size:.75rem;margin-top:.25rem}.lesson-selection-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.selection-controls{display:flex;gap:.5rem}.control-btn{background:#6b7280;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.control-btn:hover{background:#4b5563}.select-lessons-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.select-lessons-btn:hover{background:#2563eb}.affected-lessons{margin-bottom:1rem}.affected-lessons h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 1rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.lesson-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px 0 #0000000d;padding:1rem}.lesson-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.lesson-period{color:#1f2937;font-weight:600}.lesson-time{color:#6b7280;font-size:.75rem}.lesson-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{font-size:.75rem}.detail-item .label{color:#6b7280;font-weight:500}.detail-item .value{color:#374151}.impact-stats{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.impact-stats h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;text-align:center}.stat-number{display:block;font-size:1.25rem}.form-actions{gap:1rem;padding-top:1rem}.cancel-btn{border-radius:.375rem}.cancel-btn,.save-btn{font-size:.875rem;font-weight:500;padding:.5rem 1rem}.save-btn{background:#10b981;border:none;border-radius:.375rem;color:#fff;cursor:pointer;transition:background-color .2s}.save-btn:hover{background:#059669}.lesson-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.lesson-selector{background:#fff;border-radius:.75rem;box-shadow:0 10px 25px -3px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.selector-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.selector-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.lessons-grid{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;padding:1rem 1.5rem}.lesson-option{align-items:center;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:.75rem;transition:background-color .2s}.lesson-option:hover{background:#f9fafb}.lesson-option input[type=checkbox]{margin:0;width:auto}.lesson-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.period-name{color:#1f2937;font-size:.875rem;font-weight:500}.selector-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.selection-count{color:#6b7280;font-size:.875rem}.confirm-btn{background:#10b981;border-radius:.375rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.confirm-btn:hover{background:#059669}.sdr-record-details{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.details-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.details-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.header-actions{gap:.5rem}.delete-btn,.edit-btn{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.edit-btn:hover{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.delete-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.details-content{display:flex;flex-direction:column;gap:2rem}.info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.info-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item.full-width{grid-column:1/-1}.info-label{color:#6b7280;font-size:.875rem;font-weight:500}.info-value{color:#374151;font-size:.875rem}.info-value.description{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;line-height:1.5;padding:.75rem}.leave-type-icon{margin-right:.5rem}.status-badge{border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem}.status-badge.assigned{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.stats-grid{grid-gap:1rem;gap:1rem}.stat-card{border-radius:.5rem;box-shadow:0 1px 2px 0 #0000000d;gap:.75rem;padding:1rem}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background:#f9fafb;border-radius:.375rem;font-size:1.5rem;height:2.5rem;justify-content:center;width:2.5rem}.stat-content{flex:1 1}.stat-number{font-size:1.5rem;line-height:1}.stat-label{color:#6b7280;font-size:.75rem;margin-top:.25rem}.substitute-table{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.table-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.header-cell{border-right:1px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:.75rem;text-align:center}.header-cell:last-child{border-right:none}.table-body{display:flex;flex-direction:column}.table-row{border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.table-row:last-child{border-bottom:none}.table-cell{align-items:center;border-right:1px solid #e5e7eb;color:#374151;display:flex;font-size:.875rem;justify-content:center;padding:.75rem;text-align:center}.table-cell:last-child{border-right:none}.period-info{display:flex;flex-direction:column;gap:.125rem}.period-name{font-weight:600}.period-time{color:#6b7280;font-size:.75rem}.subject-name{font-weight:500}.class-info{display:flex;flex-direction:column;gap:.125rem}.class-name{font-weight:500}.student-count{color:#6b7280;font-size:.75rem}.classroom,.substitute-teacher{font-weight:500}.floating-controls{background:#fff;border-radius:1rem;bottom:2rem;box-shadow:0 10px 25px -3px #0000001a;min-width:300px;padding:1.5rem;position:fixed;right:2rem;z-index:100}.step-navigation{border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.step-item{flex-direction:column;gap:.25rem}.step-item,.step-number{align-items:center;display:flex}.step-number{background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:.75rem;font-weight:600;height:1.5rem;justify-content:center;width:1.5rem}.step-label{color:#6b7280;font-size:.625rem;text-align:center}.floating-btn{background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1.5rem;transition:background-color .2s;width:100%}.floating-btn:hover{background:#2563eb}.stats-display{display:flex;gap:1rem;justify-content:space-between}.stats-display .stat-item{flex:1 1;text-align:center}.stats-display .stat-number{color:#1f2937;display:block;font-size:1rem;font-weight:700}.stats-display .stat-label{color:#6b7280;font-size:.625rem}@media (max-width:768px){.sdr-header{align-items:stretch;flex-direction:column}.sdr-nav{justify-content:center}.detailed-stats{grid-template-columns:1fr}.calendar-header{align-items:stretch;flex-direction:column}.calendar-navigation{flex-direction:column;gap:.5rem}.calendar-navigation h3{min-width:auto}.monthly-stats{justify-content:center}.form-row{grid-template-columns:1fr}.lesson-selection-header{align-items:stretch;flex-direction:column}.info-grid,.lessons-grid,.stats-grid,.table-header,.table-row{grid-template-columns:1fr}.header-cell,.table-cell{border-bottom:1px solid #e5e7eb;border-right:none;text-align:left}.header-cell:last-child,.table-cell:last-child{border-bottom:none}.floating-controls{bottom:auto;margin:2rem 0;min-width:auto;position:relative;right:auto}.step-navigation{flex-wrap:wrap;gap:.5rem}.chart-bars{gap:.25rem}.bar-label{font-size:.625rem}.system-info{align-items:stretch;flex-direction:column}}.enotice-module{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.enotice-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.enotice-header h1{font-size:24px;font-weight:600;margin:0}.user-role{opacity:.9}.search-button{border-radius:6px;font-size:16px;padding:8px;transition:background-color .2s}.enotice-loading{align-items:center;color:#666;display:flex;flex-direction:column;height:400px;justify-content:center}@media (max-width:768px){.enotice-module{padding:15px}.enotice-header{flex-direction:column;gap:15px;text-align:center}.enotice-header h1{font-size:20px}.header-actions{justify-content:center;width:100%}}@media (max-width:480px){.enotice-header{padding:15px}.enotice-header h1{font-size:18px}.back-button{font-size:12px;padding:8px 12px}}.notice-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.filter-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex}.filter-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:15px 20px;transition:all .2s}.filter-tab:hover{background:#e9ecef;color:#495057}.filter-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.notices-list{padding:0}.no-notices{color:#6c757d;padding:60px 20px;text-align:center}.no-notices p{font-size:16px;margin:0}.notice-item{align-items:center;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;padding:20px;transition:background-color .2s}.notice-item:hover{background:#f8f9fa}.notice-item:last-child{border-bottom:none}.notice-content{cursor:pointer;flex:1 1}.notice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.notice-title{color:#212529;font-size:16px;font-weight:600;line-height:1.4;margin:0}.notice-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:uppercase}.status-unsigned{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-signed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.notice-meta{align-items:center;display:flex;gap:15px;margin-bottom:8px}.notice-date{color:#6c757d;font-size:13px}.notice-expired{color:#dc3545;font-size:12px;font-weight:500}.notice-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;font-size:14px;line-height:1.5;overflow:hidden}.notice-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-left:20px}.sign-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.sign-button:hover{background:#5a6fd8}.signed-indicator{align-items:center;color:#28a745;display:flex;font-size:12px;font-weight:500;gap:4px}@media (max-width:768px){.filter-tabs{flex-wrap:wrap}.filter-tab{font-size:13px;min-width:80px;padding:12px 15px}.notice-item{align-items:stretch;flex-direction:column;gap:15px}.notice-actions{flex-direction:row;justify-content:center;margin-left:0}.notice-header{align-items:flex-start;flex-direction:column;gap:8px}.notice-meta{flex-wrap:wrap;gap:10px}}@media (max-width:480px){.notice-item{padding:15px}.notice-title{font-size:15px}.filter-tab{font-size:12px;padding:10px 12px}.sign-button{font-size:12px;padding:6px 12px}}.notice-detail-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.notice-detail-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:20px}.notice-detail-header h2{color:#495057;font-size:18px;margin:0 0 0 15px}.notice-detail-content{padding:30px}.notice-detail-title{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.notice-detail-title h1{color:#212529;font-size:24px;line-height:1.3;margin:0 0 15px}.notice-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.notice-id{background:#667eea;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.notice-dates{color:#6c757d;font-size:14px;font-weight:500}.notice-detail-body{margin-bottom:30px}.notice-detail-body p{color:#495057;font-size:16px;line-height:1.7;margin:0}.actions-section,.signing-status-section,.student-info-section,.target-audience-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:25px;padding:20px}.actions-section h3,.signing-status-section h3,.student-info-section h3,.target-audience-section h3{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.student-details{display:flex;flex-direction:column;gap:8px}.student-class,.student-name{color:#495057;font-size:14px}.student-class strong,.student-name strong{color:#212529}.signing-status{border-radius:20px;display:inline-block;font-size:14px;font-weight:600;margin-bottom:15px;padding:8px 16px;text-transform:uppercase}.signing-status.status-unsigned{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.signing-status.status-signed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.signing-details p{color:#495057;font-size:14px;margin:5px 0}.signing-details strong{color:#212529}.target-audience-section p{color:#495057;font-size:14px;margin:0}.actions-list{display:flex;flex-direction:column;gap:15px}.action-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:15px}.action-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.action-title{color:#212529;font-size:14px;font-weight:600}.required-badge{background:#dc3545;border-radius:12px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.action-options{display:flex;flex-wrap:wrap;gap:8px}.action-option{background:#e9ecef;border-radius:15px;color:#495057;font-size:12px;font-weight:500;padding:4px 12px}.sign-action-section{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px;text-align:center}.sign-notice-button{background:#667eea;border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:background-color .2s}.sign-notice-button:hover{background:#5a6fd8;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}@media (max-width:768px){.notice-detail-content{padding:20px}.notice-detail-title h1{font-size:20px}.notice-detail-meta{align-items:flex-start;flex-direction:column;gap:10px}.actions-section,.signing-status-section,.student-info-section,.target-audience-section{padding:15px}.sign-notice-button{font-size:14px;padding:12px 24px}}@media (max-width:480px){.notice-detail-content{padding:15px}.notice-detail-title h1{font-size:18px}.notice-detail-header{padding:15px}.notice-detail-header h2{font-size:16px}.actions-section,.signing-status-section,.student-info-section,.target-audience-section{padding:12px}}.notice-reply-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.notice-reply-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:20px}.notice-reply-header h2{color:#495057;font-size:18px;margin:0 0 0 15px}.notice-reply-content{padding:30px}.reply-notice-title{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.reply-notice-title h3{color:#212529;font-size:20px;line-height:1.3;margin:0}.reply-form{max-width:600px}.form-label{color:#212529;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.required{color:#dc3545;margin-left:4px}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background-color .2s}.radio-option:hover{background:#f8f9fa}.radio-option input[type=radio]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.radio-label{cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label,.text-input{color:#495057;font-size:14px}.text-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-family:inherit;padding:12px 16px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.text-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.text-input::placeholder{color:#adb5bd}textarea.text-input{min-height:80px}.error-message{font-size:12px;gap:4px;margin-top:5px}.error-message:before{content:"⚠";font-size:14px}.submit-instructions{background:#e7f3ff;border-left:4px solid #007bff;border-radius:8px;margin:30px 0;padding:15px 20px}.submit-instructions p{color:#0056b3;font-size:14px;font-weight:500;margin:0}.form-actions{text-align:center}.submit-button{background:#667eea;box-shadow:0 2px 8px #667eea4d;min-width:120px;padding:15px 40px;transition:all .2s}.submit-button:hover{background:#5a6fd8;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{background:#6c757d;box-shadow:none;transform:none}@media (max-width:768px){.notice-reply-content{padding:20px}.reply-notice-title h3{font-size:18px}.submit-button{font-size:14px;max-width:300px;padding:12px 30px;width:100%}.radio-group{gap:10px}.radio-option{padding:8px}.text-input{font-size:13px;padding:10px 14px}}@media (max-width:480px){.notice-reply-content{padding:15px}.reply-notice-title h3{font-size:16px}.notice-reply-header{padding:15px}.notice-reply-header h2{font-size:16px}.form-group{margin-bottom:20px}.submit-instructions{padding:12px 15px}.submit-instructions p{font-size:13px}.radio-option{padding:6px}.radio-option input[type=radio]{height:16px;width:16px}.radio-label{font-size:13px}}.library-module{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.library-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 25px #00000026;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:25px}.library-header h1{font-size:28px;font-weight:600;margin:0;text-shadow:0 2px 4px #0003}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:10px;font-weight:500;padding:12px 20px}.back-button:hover{background:#ffffff4d;box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.header-actions{align-items:center;display:flex;gap:15px}.tenant-selector{align-items:center;display:flex;gap:10px}.refresh-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .3s ease}.refresh-button:hover{background:#ffffff4d;transform:translateY(-1px)}.tenant-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .3s ease}.tenant-select:hover{background:#ffffff4d}.tenant-select option{background:#667eea;color:#fff}.user-role{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;font-size:14px;font-weight:500;padding:8px 16px}.search-button{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:18px;height:40px;justify-content:center;padding:10px;width:40px}.search-button:hover{background:#ffffff4d;transform:scale(1.1)}.library-navigation{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.nav-button{border-radius:12px;box-shadow:0 2px 8px #00000014;font-size:15px;min-width:140px;padding:15px 25px}.library-content{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;min-height:600px;overflow:hidden}@media (max-width:768px){.library-module{padding:15px}.library-header{flex-direction:column;gap:20px;padding:20px;text-align:center}.library-header h1{font-size:24px}.library-navigation{justify-content:center}.nav-button{font-size:14px;min-width:120px;padding:12px 20px}}@media (max-width:480px){.library-navigation{align-items:center;flex-direction:column}.nav-button{max-width:300px;width:100%}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;margin-bottom:20px}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#dc3545;font-size:16px;max-width:500px}.error-container button{background:#dc3545;font-size:14px;transition:background .3s ease}.error-container button:hover{background:#c82333}.library-catalog{padding:30px}.catalog-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.catalog-header h2{color:#212529;font-size:24px;margin:0}.catalog-stats{color:#6c757d;display:flex;font-size:14px;gap:20px}.catalog-stats span{background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;padding:8px 16px}.catalog-controls{flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.catalog-controls,.search-form{align-items:center;display:flex}.search-form{flex:1 1;gap:15px;max-width:500px}.search-input{font-size:14px}.search-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.catalog-table{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.catalog-table table{border-collapse:collapse;width:100%}.catalog-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;cursor:pointer;font-weight:600;padding:18px 16px;text-align:left;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.catalog-table th:hover{background:#e9ecef}.catalog-table td{border-bottom:1px solid #f1f3f4;padding:16px;vertical-align:top}.call-number{background:#f8f9fa;border-radius:4px;color:#495057;font-size:13px;padding:4px 8px}.book-title .title-content{display:flex;flex-direction:column;gap:4px}.book-author .author-content{display:flex;flex-direction:column;gap:2px}.author-zh{color:#495057;font-weight:500}.author-en{color:#6c757d;font-size:13px;font-style:italic}.publisher{color:#495057;font-weight:500}.location,.publish-year{color:#6c757d;font-size:14px}.actions{text-align:center}.no-results h4{margin:20px 0 10px}.catalog-footer{border-top:1px solid #e9ecef;color:#6c757d;font-size:14px;margin-top:30px;padding-top:20px;text-align:center}.catalog-footer p{margin:5px 0}@media (max-width:1024px){.catalog-controls{align-items:stretch;flex-direction:column}.search-form{max-width:none}.filter-controls{justify-content:center}}@media (max-width:768px){.library-catalog{padding:20px}.catalog-header{flex-direction:column;gap:15px;text-align:center}.catalog-stats{flex-wrap:wrap;justify-content:center}.catalog-table{overflow-x:auto}.catalog-table table{min-width:800px}.catalog-table td,.catalog-table th{font-size:13px;padding:12px 8px}.title-en,.title-zh{font-size:14px}.status-badge{font-size:11px;min-width:50px;padding:4px 8px}}@media (max-width:480px){.library-catalog{padding:15px}.catalog-controls{gap:15px}.filter-controls,.search-form{flex-direction:column;gap:10px}.filter-select,.sort-select{width:100%}}.book-detail{padding:30px}.book-detail-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;margin-bottom:30px;padding-bottom:20px}.book-detail-header h2{color:#495057;font-size:22px;margin:0 0 0 20px}.book-detail-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 2fr;margin-bottom:40px}.book-main-info{display:flex;flex-direction:column;gap:30px}.book-cover-section{position:relative}.book-cover{box-shadow:0 8px 25px #00000026;height:auto}.book-cover,.book-cover-placeholder{border-radius:12px;max-width:300px;width:100%}.book-cover-placeholder{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);box-shadow:0 8px 25px #0000001a;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.cover-icon{margin-bottom:15px}.cover-title{font-size:14px;line-height:1.4}.book-status{gap:8px;right:15px;top:15px}.status-badge{min-width:70px;padding:8px 16px}.book-info-section{display:flex;flex-direction:column;gap:25px}.book-title{font-size:32px;line-height:1.2;margin:0}.book-title-en{font-size:20px;font-weight:400;margin:0}.book-meta{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meta-item{display:flex;flex-direction:column;gap:5px}.meta-label{color:#6c757d;font-size:14px;font-weight:500}.meta-value{color:#212529;font-size:16px;font-weight:600}.meta-value-en{color:#6c757d;font-size:14px;font-style:italic}.book-description h3{color:#495057;font-size:18px;margin:0 0 15px}.book-description p{color:#495057;font-size:15px;line-height:1.6;margin:0}.book-actions{display:flex;flex-wrap:wrap;gap:15px}.borrow-button,.reserve-button,.share-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:12px 24px;transition:all .3s ease}.borrow-button{background:#28a745;color:#fff}.borrow-button:hover{background:#218838;box-shadow:0 4px 15px #28a7454d;transform:translateY(-2px)}.reserve-button{background:#ffc107;color:#212529}.reserve-button:hover:not(:disabled){background:#e0a800;transform:translateY(-2px)}.reserve-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.share-button{background:#17a2b8;color:#fff}.share-button:hover{background:#138496;box-shadow:0 4px 15px #17a2b84d;transform:translateY(-2px)}.book-details-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}.detail-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:18px;margin:0 0 20px;padding-bottom:10px}.detail-grid{grid-gap:15px;display:grid;gap:15px}.detail-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:12px 0}.detail-label{color:#6c757d;font-size:14px;font-weight:500}.detail-value{color:#212529;font-size:14px;font-weight:600}.tags-container{gap:10px}.tag{background:#e9ecef;color:#495057;font-size:12px}.no-tags{color:#6c757d;font-size:14px;font-style:italic}.book-related{border-top:2px solid #e9ecef;padding-top:30px}.book-related h3{color:#495057;font-size:18px;margin:0 0 20px}.related-placeholder{background:#f8f9fa;border-radius:8px;color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}@media (max-width:1024px){.book-detail-content{gap:30px;grid-template-columns:1fr}.book-cover-section{text-align:center}.book-cover,.book-cover-placeholder{margin:0 auto}.book-status{flex-direction:row;justify-content:center;margin-top:15px;position:static}}@media (max-width:768px){.book-detail{padding:20px}.book-title{font-size:24px}.book-title-en{font-size:16px}.book-meta{grid-template-columns:1fr}.book-actions{justify-content:center}.book-details-grid{gap:25px;grid-template-columns:1fr}.detail-item{align-items:flex-start;flex-direction:column;gap:5px}}@media (max-width:480px){.book-detail{padding:15px}.book-detail-header{flex-direction:column;gap:15px;text-align:center}.book-cover,.book-cover-placeholder{max-width:250px}.book-cover-placeholder{height:350px}.book-actions{align-items:center;flex-direction:column}.borrow-button,.reserve-button,.share-button{max-width:200px;width:100%}}.borrowing-system{padding:30px}.borrowing-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;margin-bottom:30px;padding-bottom:20px}.borrowing-header h2{color:#495057;font-size:22px;margin:0 0 0 20px}.borrowing-navigation{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.nav-button{background:#fff;border:2px solid #e9ecef;border-radius:10px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:12px 20px;text-align:center;transition:all .3s ease}.nav-button:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26;color:#667eea;transform:translateY(-2px)}.nav-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.borrowing-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px;padding:30px}.checkout-form h3,.overdue-list h3,.renew-form h3,.return-form h3{border-bottom:2px solid #e9ecef;color:#212529;font-size:20px;margin:0 0 25px;padding-bottom:15px}.form-group{margin-bottom:25px}.form-group label{color:#495057;font-weight:600}.form-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.action-button{font-weight:500;min-width:120px;transition:all .3s ease}.checkout-button{background:#28a745;color:#fff}.checkout-button:hover:not(:disabled){background:#218838;box-shadow:0 4px 15px #28a7454d;transform:translateY(-2px)}.checkout-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.borrowed-books{grid-gap:20px;display:grid;gap:20px}.borrowed-book-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.borrowed-book-item:hover{background:#e9ecef;box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.renewed-badge{background:#d4edda;color:#155724}.overdue-badge,.renewed-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:500;margin-left:10px;padding:4px 8px}.overdue-badge{background:#f8d7da;color:#721c24}.return-button{background:#dc3545;color:#fff}.return-button:hover:not(:disabled){background:#c82333;box-shadow:0 4px 15px #dc35454d;transform:translateY(-2px)}.renew-button{background:#17a2b8;color:#fff}.renew-button:hover:not(:disabled){background:#138496;box-shadow:0 4px 15px #17a2b84d;transform:translateY(-2px)}.renew-button:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.no-overdue{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.overdue-books{grid-gap:20px;gap:20px}.overdue-book-item{background:#fff5f5;border:1px solid #fed7d7;border-radius:10px;padding:20px}.overdue-book-item .book-info h4{color:#c53030}.overdue-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.fine-button{background:#f56565;color:#fff}.fine-button:hover:not(:disabled){background:#e53e3e;box-shadow:0 4px 15px #f565654d;transform:translateY(-2px)}.borrowing-summary{grid-gap:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:25px}.summary-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:20px;text-align:center}.summary-label{margin-bottom:8px}.summary-value{font-size:24px}@media (max-width:768px){.borrowing-system{padding:20px}.borrowing-navigation{justify-content:center}.nav-button{font-size:13px;min-width:100px;padding:10px 16px}.borrowing-content{padding:20px}.borrowed-book-item{align-items:stretch;flex-direction:column;gap:15px}.book-info{text-align:center}.overdue-actions{justify-content:center}.borrowing-summary{gap:15px;grid-template-columns:repeat(2,1fr);padding:20px}}@media (max-width:480px){.borrowing-system{padding:15px}.borrowing-header{flex-direction:column;gap:15px;text-align:center}.borrowing-navigation{align-items:center;flex-direction:column}.nav-button{max-width:250px;width:100%}.borrowing-content{padding:15px}.form-group{margin-bottom:20px}.action-button{max-width:200px;width:100%}.borrowing-summary{gap:15px;grid-template-columns:1fr;padding:15px}}.reader-profile{padding:30px}.profile-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;margin-bottom:30px;padding-bottom:20px}.profile-header h2{color:#495057;font-size:22px;margin:0 0 0 20px}.profile-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab-button{background:#fff;border:2px solid #e9ecef;border-radius:10px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:12px 20px;text-align:center;transition:all .3s ease}.tab-button:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26;color:#667eea;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.profile-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:30px}.overview-section{display:flex;flex-direction:column;gap:30px}.reader-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:25px}.card-header{gap:20px;margin-bottom:20px}.card-header,.card-photo{align-items:center;display:flex}.card-photo{background:#e9ecef;border-radius:50%;height:80px;justify-content:center;overflow:hidden;width:80px}.card-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;color:#6c757d;display:flex;font-size:32px;height:100%;justify-content:center;width:100%}.card-info h3{color:#212529;font-size:24px;margin:0 0 5px}.english-name{color:#6c757d;font-size:16px;font-style:italic;margin:0 0 5px}.student-id{color:#495057;font-size:14px;font-weight:600;margin:0 0 5px}.class-info{color:#6c757d;font-size:14px;margin:0}.card-body{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card-details .detail-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:10px 0}.card-details .label{color:#6c757d;font-size:14px;font-weight:500}.card-details .value{color:#212529;font-size:14px;font-weight:600}.status-badge{min-width:60px;padding:6px 12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{border:1px solid #e9ecef;box-shadow:0 2px 10px #00000014;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.stat-icon{font-size:32px;margin-bottom:15px}.stat-value{color:#212529;font-size:28px;margin-bottom:5px}.stat-label{color:#6c757d;font-size:14px;font-weight:500}.quick-actions h4{border-bottom:2px solid #e9ecef;color:#495057;font-size:18px;margin:0 0 20px;padding-bottom:10px}.action-buttons{gap:15px}.action-btn{min-width:100px;transition:all .3s ease}.action-btn.primary{background:#28a745}.action-btn.primary:hover{background:#218838;box-shadow:0 4px 15px #28a7454d;transform:translateY(-2px)}.action-btn.secondary{background:#17a2b8;color:#fff}.action-btn.secondary:hover{background:#138496;box-shadow:0 4px 15px #17a2b84d;transform:translateY(-2px)}.action-btn.warning{background:#ffc107;color:#212529}.action-btn.warning:hover{background:#e0a800;transform:translateY(-2px)}.action-btn.info{background:#6c757d;color:#fff}.action-btn.info:hover{background:#5a6268;transform:translateY(-2px)}.borrowings-section h3,.fines-section h3,.history-section h3{border-bottom:2px solid #e9ecef;color:#212529;font-size:20px;margin:0 0 25px;padding-bottom:15px}.no-borrowings,.no-fines,.no-history{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.borrowings-list,.fines-list,.history-list{grid-gap:20px;display:grid;gap:20px}.borrowing-item,.fine-item,.history-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:20px;transition:all .3s ease}.borrowing-item:hover,.fine-item:hover,.history-item:hover{background:#e9ecef;box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.borrowing-item.overdue{background:#fff5f5;border-color:#fed7d7}.borrowing-item.overdue .due-date{color:#c53030;font-weight:600}.book-info h4{color:#212529;font-size:16px;margin:0 0 10px}.book-info p{color:#6c757d;font-size:14px;margin:5px 0}.call-number{font-weight:600}.borrowing-actions,.fine-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.fine-info{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-top:15px;padding:10px}.fine-amount{color:#c53030;font-size:16px;font-weight:600}.fines-summary{background:#fff5f5;border:1px solid #fed7d7;border-radius:10px;margin-bottom:25px;padding:20px;text-align:center}.fines-summary h4{color:#c53030;font-size:18px;margin:0 0 10px}.fines-summary p{color:#6c757d;font-size:14px;margin:0}@media (max-width:768px){.reader-profile{padding:20px}.profile-tabs{justify-content:center}.tab-button{font-size:13px;min-width:80px;padding:10px 16px}.profile-content{padding:20px}.card-header{flex-direction:column;gap:15px;text-align:center}.card-body{gap:15px;grid-template-columns:1fr}.stats-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.action-buttons,.borrowing-actions,.fine-actions{justify-content:center}}@media (max-width:480px){.reader-profile{padding:15px}.profile-header{flex-direction:column;gap:15px;text-align:center}.profile-tabs{align-items:center;flex-direction:column}.tab-button{max-width:200px;width:100%}.profile-content{padding:15px}.stats-grid{gap:15px;grid-template-columns:1fr}.action-buttons{align-items:center;flex-direction:column}.action-btn{max-width:200px;width:100%}.borrowing-actions,.fine-actions{align-items:center;flex-direction:column}}.library-reports{padding:30px}.reports-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;margin-bottom:30px;padding-bottom:20px}.reports-header h2{color:#495057;font-size:22px;margin:0 0 0 20px}.back-button{background:#6c757d;padding:10px 16px;transition:all .3s ease}.back-button:hover{background:#5a6268;transform:translateY(-1px)}.reports-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.report-type-selector{display:flex;flex-wrap:wrap;gap:10px}.report-type-btn{background:#fff;border:2px solid #e9ecef;border-radius:10px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:12px 20px;text-align:center;transition:all .3s ease}.report-type-btn:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26;color:#667eea;transform:translateY(-2px)}.report-type-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.report-options{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.date-range-select,.export-format-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:border-color .3s ease}.date-range-select:focus,.export-format-select:focus{border-color:#667eea;outline:none}.reports-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:30px}.report-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.report-header h3{color:#212529;font-size:24px;margin:0}.export-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.export-button:hover{background:#218838;box-shadow:0 4px 15px #28a7454d;transform:translateY(-2px)}.report-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.summary-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.summary-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.summary-card.warning{background:#fff3cd;border-color:#ffeaa7}.summary-card.danger{background:#f8d7da;border-color:#fab1a0}.summary-value{color:#212529;display:block;font-size:32px;font-weight:700;margin-bottom:8px}.summary-label{color:#6c757d;display:block;font-size:14px;font-weight:500}.report-sections{grid-gap:40px;display:grid;gap:40px}.report-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px}.report-section h4{border-bottom:2px solid #e9ecef;color:#495057;font-size:18px;margin:0 0 25px;padding-bottom:15px}.top-list{grid-gap:15px;display:grid;gap:15px}.top-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:20px;padding:15px;transition:all .3s ease}.top-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateX(5px)}.rank{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:30px;justify-content:center;width:30px}.name,.title{color:#212529;flex:1 1;font-size:15px;font-weight:600}.count{background:#e9ecef;border-radius:20px;color:#495057;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px}.subject-stats{grid-gap:20px;display:grid;gap:20px}.subject-stat{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px}.subject-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.subject-name{color:#212529;font-size:16px;font-weight:600}.subject-count{background:#667eea;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.subject-bar{background:#e9ecef;border-radius:4px;height:8px;margin-bottom:15px;overflow:hidden;width:100%}.bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px}.subject-details{color:#6c757d;display:flex;font-size:12px;justify-content:space-between}.format-stats,.language-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.format-stat,.language-stat{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;text-align:center;transition:all .3s ease}.format-stat:hover,.language-stat:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.format-name,.language-name{color:#212529;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.format-count,.language-count{background:#667eea;border-radius:20px;color:#fff;display:block;font-size:12px;font-weight:600;padding:6px 12px}.overdue-readers{margin-top:30px}.overdue-readers h4{border-bottom:2px solid #e9ecef;color:#495057;font-size:18px;margin:0 0 25px;padding-bottom:15px}.overdue-reader{background:#fff;border:1px solid #fed7d7;border-radius:8px;margin-bottom:20px;padding:20px}.reader-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.reader-header h5{color:#c53030;font-size:16px;font-weight:600;margin:0}.overdue-count,.total-fine{background:#f8d7da;border-radius:20px;color:#721c24;font-size:12px;font-weight:600;padding:6px 12px}.overdue-books{grid-gap:10px;display:grid;gap:10px}.overdue-book{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:10px}.book-title{color:#c53030}.call-number{color:#6c757d;font-family:Courier New,monospace}.due-date{color:#c53030;font-weight:500}@media (max-width:1024px){.reports-controls{align-items:stretch;flex-direction:column}.report-options,.report-type-selector{justify-content:center}.report-summary{gap:15px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.library-reports{padding:20px}.reports-header{flex-direction:column;gap:15px;text-align:center}.report-type-selector{align-items:center;flex-direction:column}.report-type-btn{max-width:200px;width:100%}.report-options{align-items:center;flex-direction:column;gap:10px}.date-range-select,.export-format-select{max-width:200px;width:100%}.reports-content{padding:20px}.report-header{flex-direction:column;gap:15px;text-align:center}.export-button{max-width:200px;width:100%}.report-summary{gap:15px;grid-template-columns:1fr}.top-item{flex-direction:column;gap:15px;text-align:center}.rank{order:-1}.subject-details{flex-direction:column;gap:5px;text-align:center}.format-stats,.language-stats{gap:10px;grid-template-columns:1fr}.reader-header{gap:10px}.overdue-book,.reader-header{flex-direction:column;text-align:center}.overdue-book{gap:5px}}@media (max-width:480px){.library-reports,.report-section,.reports-content{padding:15px}.summary-card{padding:20px}.summary-value{font-size:24px}.top-item{padding:12px}.rank{font-size:12px;height:25px;width:25px}.name,.title{font-size:14px}.count{font-size:11px;padding:4px 8px}}.opac-interface{padding:30px}.opac-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 25px #00000026;color:#fff;margin-bottom:40px;padding:40px;text-align:center}.opac-header h2{font-size:32px;font-weight:600;margin:0 0 15px;text-shadow:0 2px 4px #0003}.opac-header p{font-size:16px;margin:0;opacity:.9}.search-form{margin:0 auto;max-width:800px}.search-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.search-type-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:14px;min-width:150px;padding:12px 16px;transition:border-color .3s ease}.search-type-select:focus{border-color:#667eea;outline:none}.search-input{border:2px solid #e9ecef;border-radius:8px;flex:1 1;font-size:16px;min-width:300px;padding:12px 16px;transition:border-color .3s ease}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:12px 24px;transition:all .3s ease}.search-button:hover{background:#5a6fd8;box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.opac-controls{gap:20px;justify-content:space-between;margin-bottom:30px}.filter-controls,.opac-controls{align-items:center;display:flex;flex-wrap:wrap}.filter-controls{gap:15px}.filter-select,.sort-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:border-color .3s ease}.filter-select:focus,.sort-select:focus{border-color:#667eea;outline:none}.view-controls{display:flex;gap:10px}.view-btn{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 16px;text-align:center;transition:all .3s ease}.view-btn:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26;color:#667eea;transform:translateY(-2px)}.view-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.search-results{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:30px}.results-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.results-header h3{color:#212529;font-size:20px;margin:0}.results-count{background:#e9ecef;border-radius:20px;color:#495057;font-size:14px;font-weight:500;padding:8px 16px}.no-results{color:#6c757d;padding:60px 20px}.no-results-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-results h4{color:#495057;font-size:20px;margin:0 0 15px}.no-results p{font-size:16px;line-height:1.6;margin:0 0 30px}.search-tips{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:0 auto;max-width:500px;padding:20px;text-align:left}.search-tips h5{color:#495057;font-size:16px;margin:0 0 15px}.search-tips ul{color:#6c757d;line-height:1.6;margin:0;padding-left:20px}.search-tips li{margin-bottom:8px}.books-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.book-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #00000014;cursor:pointer;overflow:hidden;transition:all .3s ease}.book-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-8px)}.book-cover{height:200px;overflow:hidden;position:relative}.book-cover img{height:100%;object-fit:cover;width:100%}.cover-placeholder{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center;width:100%}.cover-icon{color:#6c757d;font-size:48px;margin-bottom:10px}.cover-title{color:#6c757d;font-size:12px;line-height:1.3;max-width:200px}.book-status{display:flex;flex-direction:column;gap:5px;position:absolute;right:10px;top:10px}.status-badge{border-radius:15px;box-shadow:0 2px 8px #00000026;font-size:11px;min-width:50px;padding:6px 10px;text-align:center}.status-available{background:#d4edda;color:#155724}.status-borrowed{background:#fff3cd;color:#856404}.status-overdue{background:#f8d7da;color:#721c24}.status-reserved{background:#cce5ff;color:#004085}.status-maintenance{background:#e2e3e5;color:#383d41}.status-unknown{background:#f8f9fa;color:#6c757d}.new-badge{background:#dc3545;border-radius:12px;color:#fff;font-size:10px;font-weight:600;left:10px;padding:4px 8px;position:absolute;top:10px}.book-info{padding:20px}.book-title{color:#212529;font-size:16px;font-weight:600}.book-title,.book-title-en{line-height:1.3;margin:0 0 8px}.book-title-en{color:#6c757d;font-size:14px;font-style:italic}.book-author{font-size:14px;margin:0 0 8px}.book-subject{font-size:13px;margin:0 0 8px}.book-call-number{display:inline-block;margin:0 0 12px}.book-meta{align-items:center;color:#6c757d;display:flex;font-size:12px;justify-content:space-between}.format,.publish-year{background:#e9ecef;border-radius:12px;font-weight:500;padding:4px 8px}.books-list{overflow-x:auto}.books-list table{border-collapse:collapse;width:100%}.books-list th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;font-size:14px;font-weight:600;padding:15px;text-align:left}.books-list td{border-bottom:1px solid #f1f3f4;padding:15px;vertical-align:top}.book-row:hover{background:#f8f9fa}.title-content{display:flex;flex-direction:column;gap:4px}.title-zh{color:#212529;font-size:15px;font-weight:600}.title-en{color:#6c757d;font-size:13px;font-style:italic}.book-author{color:#495057;font-weight:500}.book-subject{color:#6c757d}.book-call-number{background:#f8f9fa;border-radius:4px;color:#495057;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:4px 8px}.view-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .3s ease}.view-button:hover{background:#5a6fd8;box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.opac-footer{border-top:1px solid #e9ecef;margin-top:40px;padding-top:30px}.quick-links h4{color:#495057;font-size:18px;margin:0 0 20px;text-align:center}.links-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto;max-width:800px}.quick-link{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#495057;display:block;font-weight:500;padding:15px;text-align:center;text-decoration:none;transition:all .3s ease}.quick-link:hover{background:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff;text-decoration:none;transform:translateY(-2px)}@media (max-width:1024px){.opac-controls{align-items:stretch;flex-direction:column}.filter-controls,.view-controls{justify-content:center}.books-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.opac-interface{padding:20px}.opac-header{margin-bottom:30px;padding:30px 20px}.opac-header h2{font-size:24px}.search-controls{flex-direction:column;gap:15px}.search-input,.search-type-select{min-width:auto;width:100%}.books-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.books-list{overflow-x:auto}.books-list table{min-width:700px}.books-list td,.books-list th{font-size:13px;padding:12px 8px}.links-grid{gap:10px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.opac-interface{padding:15px}.opac-header{padding:20px 15px}.opac-header h2{font-size:20px}.search-results{padding:20px}.books-grid{gap:15px;grid-template-columns:1fr}.book-card{margin:0 auto;max-width:300px}.book-info{padding:15px}.book-title{font-size:15px}.book-title-en{font-size:13px}.links-grid{gap:10px;grid-template-columns:1fr}.quick-link{font-size:14px;padding:12px}}.app-store-home{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.app-store-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 10px 30px #0000001a;color:#fff;margin-bottom:40px;padding:30px 0;text-align:center}.app-store-header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px}.app-store-header p{font-size:1.1rem;margin:0;opacity:.9}.search-section{margin-bottom:40px}.search-container{display:flex;gap:10px;margin:0 auto;max-width:600px}.search-container input{border:2px solid #e1e5e9;border-radius:25px;flex:1 1;font-size:1rem;outline:none;padding:15px 20px;transition:all .3s ease}.search-container input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-container button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.search-container button:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.categories-section{margin-bottom:40px}.categories-section h2{color:#2d3748;font-size:1.8rem;margin-bottom:20px}.categories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.category-card{background:#fff;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e1e5e9;border-radius:15px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.category-card:hover{border-color:#667eea;box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.category-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.category-card h3{font-size:1.2rem;font-weight:600;margin:0 0 10px}.category-card p{font-size:.9rem;margin:0;opacity:.8}.apps-grid{grid-gap:25px;gap:25px}.app-card{border:1px solid #e1e5e9;border-radius:15px;box-shadow:0 5px 15px #00000014}.app-card:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-5px)}.app-icon img{border-radius:12px}.app-icon-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}.app-info h3{color:#2d3748;font-size:1.3rem;margin:0 0 10px}.app-description{color:#718096}.app-meta{align-items:center;justify-content:space-between}.app-category{background:#e2e8f0;border-radius:20px;color:#4a5568;font-size:.8rem;font-weight:500;padding:4px 12px}.app-rating{color:#f6ad55;font-weight:600}.app-stats{color:#718096}.details-btn,.install-btn{border-radius:8px;padding:10px 15px}.install-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.install-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.details-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.details-btn:hover{background:#edf2f7;transform:translateY(-2px)}.search-results-section h2,.trending-section h2{align-items:center;color:#2d3748;display:flex;font-size:1.8rem;justify-content:space-between;margin-bottom:20px}.clear-btn{background:#e53e3e;border-radius:20px;padding:8px 16px;transition:all .3s ease}.clear-btn:hover{background:#c53030;transform:translateY(-2px)}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#667eea}.error-container h3{color:#e53e3e}.error-container button{background:#667eea;border-radius:8px}.no-results{color:#718096;padding:40px 20px;text-align:center}@media (max-width:768px){.app-store-home{padding:15px}.app-store-header h1{font-size:2rem}.search-container{flex-direction:column}.categories-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.apps-grid{grid-template-columns:1fr}.app-meta{align-items:flex-start;gap:8px}.app-meta,.app-stats{flex-direction:column}.app-stats{gap:5px}}.language-switcher{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.language-label{color:#495057;font-size:14px;font-weight:500;white-space:nowrap}.language-select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;padding:6px 8px;transition:border-color .2s,box-shadow .2s}.language-select:hover{border-color:#80bdff}.language-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.language-select option{background:#fff;color:#495057;padding:8px}.enhanced-app-store{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.enhanced-app-store .app-store-header{margin-bottom:30px;text-align:center}.enhanced-app-store .app-store-header h1{color:#1f2937;font-size:2.5rem;margin-bottom:10px}.enhanced-app-store .app-store-header p{color:#6b7280;font-size:1.1rem}.app-store-tabs{border-bottom:2px solid #e5e7eb;display:flex;justify-content:center;margin-bottom:30px}.app-store-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:600;margin:0 10px;padding:12px 24px;transition:all .3s ease}.app-store-tabs .tab:hover{color:#3b82f6}.app-store-tabs .tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.search-section{margin-bottom:30px}.search-container{margin-bottom:20px}.search-input-wrapper{display:flex;margin:0 auto;max-width:600px;position:relative}.search-input-wrapper input{border:2px solid #e5e7eb;border-radius:8px 0 0 8px;flex:1 1;font-size:1rem;outline:none;padding:12px 16px;transition:border-color .3s ease}.search-input-wrapper input:focus{border-color:#3b82f6}.search-input-wrapper button{background:#3b82f6;border:none;border-radius:0 8px 8px 0;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;transition:background-color .3s ease}.search-input-wrapper button:hover{background:#2563eb}.search-suggestions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:10px 16px;transition:background-color .2s ease}.suggestion-item:hover{background:#f9fafb}.suggestion-item:last-child{border-bottom:none}.advanced-filters{background:#f9fafb;border-radius:12px;margin-top:20px;padding:20px}.advanced-filters h3{color:#1f2937;font-size:1.2rem;margin-bottom:20px}.filters-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:5px}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;outline:none;padding:8px 12px;transition:border-color .3s ease}.filter-group select:focus{border-color:#3b82f6}.filter-actions{display:flex;gap:10px;justify-content:center}.apply-filters-btn,.clear-filters-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.apply-filters-btn{background:#3b82f6;color:#fff}.apply-filters-btn:hover{background:#2563eb}.clear-filters-btn{background:#6b7280;color:#fff}.clear-filters-btn:hover{background:#4b5563}.app-store-content{margin-top:30px}.recent-section,.recommendations-section,.search-results-section,.trending-section{margin-bottom:40px}.recent-section h2,.recommendations-section h2,.search-results-section h2,.trending-section h2{align-items:center;color:#1f2937;display:flex;font-size:1.5rem;justify-content:space-between;margin-bottom:20px}.clear-btn{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:background-color .3s ease}.clear-btn:hover{background:#dc2626}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.app-card{overflow:hidden;position:relative;transition:all .3s ease}.app-card:hover{border-color:#3b82f6;box-shadow:0 10px 25px -5px #0000001a}.app-icon{border-radius:12px;height:60px;margin-bottom:15px;overflow:hidden;width:60px}.app-icon img{height:100%;object-fit:cover;width:100%}.app-icon-placeholder{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:100%;justify-content:center;width:100%}.app-info h3{color:#1f2937;font-size:1.2rem;font-weight:600;margin-bottom:8px}.app-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.4;margin-bottom:12px;overflow:hidden}.app-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.app-category,.app-free,.app-rating,.app-trial{border-radius:4px;font-size:.8rem;font-weight:500;padding:4px 8px}.app-rating{background:#fef3c7;color:#92400e}.app-stats{font-size:.8rem;margin-bottom:10px}.app-developer{color:#9ca3af;font-size:.8rem}.details-btn,.install-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.install-btn{background:#3b82f6;color:#fff}.install-btn:hover{background:#2563eb}.details-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.details-btn:hover{background:#e5e7eb}.error-container button{background:#3498db;font-size:16px;margin-top:16px;padding:12px 24px;transition:background-color .2s}.error-container button:hover{background:#2980b9}.no-recommendations,.no-results{color:#6b7280;padding:40px 20px;text-align:center}@media (max-width:768px){.enhanced-app-store{padding:15px}.enhanced-app-store .app-store-header h1{font-size:2rem}.app-store-tabs{flex-direction:column;gap:5px}.app-store-tabs .tab{border-bottom:none;border-radius:6px;margin:0}.app-store-tabs .tab.active{background:#3b82f6;color:#fff}.apps-grid,.filters-grid{grid-template-columns:1fr}.search-input-wrapper{flex-direction:column}.search-input-wrapper input{border-radius:8px;margin-bottom:10px}.search-input-wrapper button{border-radius:8px}}@media (max-width:480px){.enhanced-app-store .app-store-header h1{font-size:1.5rem}.app-card{padding:15px}.app-actions{flex-direction:column}}.app-details{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.app-details-header{margin-bottom:30px}.back-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:1rem;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#e5e7eb}.app-overview{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:30px}.app-header{gap:30px}.app-icon-large{border-radius:20px;flex-shrink:0;height:120px;overflow:hidden;width:120px}.app-icon-large img{height:100%;object-fit:cover;width:100%}.app-icon-placeholder-large{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;font-size:3rem;font-weight:700;height:100%;justify-content:center;width:100%}.app-header-info{flex:1 1}.app-header-info h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:8px}.app-developer{color:#6b7280;font-size:1.1rem;margin-bottom:15px}.app-meta-large{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.app-category,.app-free,.app-rating-large,.app-trial{border-radius:6px;font-size:.9rem;font-weight:500;padding:6px 12px}.app-category{background:#e0e7ff;color:#3730a3}.app-rating-large{background:#fef3c7;color:#92400e}.app-free{background:#dcfce7;color:#166534}.app-trial{background:#fce7f3;color:#be185d}.app-stats-large{color:#6b7280;display:flex;font-size:.9rem;gap:20px}.app-actions-large{display:flex;flex-direction:column;flex-shrink:0;gap:12px}.install-btn-large,.review-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:150px;padding:12px 24px;transition:all .3s ease}.install-btn-large{background:#3b82f6;color:#fff}.install-btn-large:hover{background:#2563eb}.review-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.review-btn:hover{background:#e5e7eb}.app-details-tabs{border-bottom:2px solid #e5e7eb;display:flex;margin-bottom:30px}.app-details-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.app-details-tabs .tab:hover{color:#3b82f6}.app-details-tabs .tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.tab-content{min-height:400px}.overview-content{grid-gap:30px;display:grid;gap:30px}.app-description-large h3,.app-features h3,.app-tags h3,.review-summary h3{color:#1f2937;font-size:1.3rem;font-weight:600;margin-bottom:15px}.app-description-large p{color:#374151;font-size:1rem;line-height:1.6}.app-features ul{list-style:none;padding:0}.app-features li{color:#374151;padding:8px 0 8px 20px;position:relative}.app-features li:before{color:#10b981;content:"✓";font-weight:700;left:0;position:absolute}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#f3f4f6;border-radius:20px;color:#374151;font-size:.9rem;font-weight:500;padding:6px 12px}.review-summary{background:#f9fafb;border-radius:12px;padding:20px}.rating-breakdown{grid-gap:8px;display:grid;gap:8px}.rating-bar{align-items:center;display:flex;font-size:.9rem;gap:10px}.rating-bar span:first-child{color:#374151;min-width:60px}.rating-bar span:last-child{color:#6b7280;min-width:40px;text-align:right}.bar-container{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.bar-fill{background:#fbbf24;height:100%;transition:width .3s ease}.reviews-content{grid-gap:20px;display:grid;gap:20px}.reviews-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.reviews-header h3{color:#1f2937;font-size:1.3rem;font-weight:600}.write-review-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s ease}.write-review-btn:hover{background:#2563eb}.reviews-list{grid-gap:20px;display:grid;gap:20px}.review-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:box-shadow .3s ease}.review-item:hover{box-shadow:0 4px 6px -1px #0000001a}.review-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.reviewer-info{display:flex;flex-direction:column;gap:4px}.reviewer-name{color:#1f2937;font-weight:600}.review-date{color:#6b7280;font-size:.8rem}.review-rating{font-size:1.1rem}.review-text{color:#374151;line-height:1.5;margin-bottom:15px}.review-footer{display:flex;justify-content:flex-end}.helpful-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .3s ease}.helpful-btn:hover{background:#e5e7eb}.no-reviews{color:#6b7280;padding:40px 20px;text-align:center}.details-content{grid-gap:30px;display:grid;gap:30px}.app-details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{background:#f9fafb;border-radius:8px;padding:15px}.detail-item h4{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.detail-item p{color:#1f2937;font-size:1rem;font-weight:500}.grade-levels h4{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.grade-tags{display:flex;flex-wrap:wrap;gap:8px}.grade-tag{background:#e0e7ff;border-radius:20px;color:#3730a3;font-size:.9rem;font-weight:500;padding:6px 12px}.requirements h4{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.requirements p{color:#374151;line-height:1.5}.review-form-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.review-form-content{background:#fff;border-radius:12px;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.review-form-content h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:20px}.rating-input,.review-text-input{margin-bottom:20px}.rating-input label,.review-text-input label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.star-rating{display:flex;gap:8px}.star{background:none;border:none;cursor:pointer;font-size:1.5rem;transition:transform .2s ease}.star:hover{transform:scale(1.1)}.star.filled{color:#fbbf24}.review-text-input textarea{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;padding:12px;resize:vertical;transition:border-color .3s ease;width:100%}.review-text-input textarea:focus{border-color:#3b82f6}.review-form-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-btn,.submit-review-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.submit-review-btn{background:#3b82f6;color:#fff}.submit-review-btn:hover{background:#2563eb}.cancel-btn{background:#6b7280}.cancel-btn:hover{background:#4b5563}.error-container,.loading-container{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container h3{color:#dc2626;margin-bottom:10px}.error-container button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 20px}@media (max-width:768px){.app-details{padding:15px}.app-overview{padding:20px}.app-header{align-items:center;flex-direction:column;text-align:center}.app-header-info h1{font-size:2rem}.app-actions-large{flex-direction:row;width:100%}.install-btn-large,.review-btn{flex:1 1}.app-details-tabs{flex-direction:column}.app-details-tabs .tab{border-bottom:none;border-radius:6px;margin-bottom:5px}.app-details-tabs .tab.active{background:#3b82f6;color:#fff}.app-details-grid{grid-template-columns:1fr}.review-form-content{margin:20px;padding:20px}}@media (max-width:480px){.app-header-info h1{font-size:1.5rem}.app-meta-large{align-items:flex-start;flex-direction:column}.app-stats-large{flex-direction:column;gap:8px}.reviews-header{align-items:flex-start;flex-direction:column;gap:15px}}.developer-portal{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.portal-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.portal-header h1{color:#1f2937;font-size:2rem;font-weight:700;margin:0}.back-button{background:#6b7280;border:none;border-radius:8px;color:#fff;padding:10px 20px;transition:background-color .2s}.back-button:hover{background:#4b5563}.developer-info{align-items:center;display:flex;gap:15px}.developer-info span{color:#6b7280;font-size:14px}.status.pending{color:#92400e}.status.verified{background:#d1fae5;color:#065f46}.status.rejected{color:#991b1b}.portal-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:10px;margin-bottom:30px}.portal-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:16px;font-weight:500;padding:15px 25px;transition:all .2s}.portal-tabs button:hover{color:#374151}.portal-tabs button.active{border-bottom-color:#7c3aed;color:#7c3aed}.error-message{align-items:center;display:flex;justify-content:space-between;padding:15px}.error-message button{background:none;border:none;color:#991b1b;cursor:pointer;font-size:18px}.dashboard-content{grid-gap:30px;display:grid;gap:30px}.stat-card{box-shadow:0 4px 6px -1px #0000001a;padding:25px}.stat-card h3{margin:0 0 15px}.stat-number{font-size:2.5rem;margin:0}.quick-actions{box-shadow:0 4px 6px -1px #0000001a;padding:25px}.quick-actions h3{color:#1f2937;font-size:1.25rem}.action-button{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:10px;margin-right:15px;padding:12px 24px;transition:background-color .2s}.action-button:hover{background:#6d28d9}.apps-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.apps-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:25px}.apps-header h3{color:#1f2937;font-size:1.25rem;margin:0}.add-app-button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s}.add-app-button:hover{background:#059669}.apps-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:25px}.app-card{background:#f9fafb;transition:transform .2s,box-shadow .2s}.app-card:hover{box-shadow:0 10px 25px -3px #0000001a;transform:translateY(-2px)}.app-header{align-items:flex-start;margin-bottom:15px}.app-header h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.status-badge{border-radius:20px;color:#fff;font-weight:600;text-transform:uppercase}.app-description{font-size:14px;line-height:1.5}.app-description,.app-stats{color:#6b7280;margin-bottom:15px}.app-stats{display:flex;font-size:12px;gap:15px}.app-actions{gap:10px}.app-actions button{background:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:background-color .2s}.app-actions button:hover{background:#6d28d9}.app-actions button.delete{background:#ef4444}.app-actions button.delete:hover{background:#dc2626}.analytics-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:25px}.analytics-content h3{color:#1f2937;font-size:1.25rem;margin:0 0 25px}.analytics-grid{grid-gap:20px;display:grid;gap:20px}.analytics-card{background:#f9fafb;border:1px solid #e5e7eb;padding:20px}.analytics-card h4{color:#1f2937;font-size:1rem;margin:0 0 15px}.metric{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:10px 0}.metric:last-child{border-bottom:none}.metric span:first-child{color:#6b7280;font-size:14px}.metric span:last-child{color:#1f2937;font-weight:600}.registration-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin:0 auto;max-width:600px;padding:40px}.registration-form h2{color:#1f2937;font-size:1.5rem;margin:0 0 10px}.registration-form p{color:#6b7280;line-height:1.6;margin-bottom:30px}.form-group input,.form-group select,.form-group textarea{border-radius:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.submit-button{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:background-color .2s;width:100%}.submit-button:hover:not(:disabled){background:#6d28d9}.submit-button:disabled{background:#9ca3af;cursor:not-allowed}.modal{box-shadow:0 20px 25px -5px #0000001a;max-width:600px}.modal-header{padding:25px}.modal-header h3{font-size:1.25rem}.modal-header button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal form{padding:25px}.form-actions{gap:15px;padding-top:20px}.form-actions button{border-radius:8px;font-weight:600;padding:12px 24px}.form-actions button:first-child{background:#6b7280;border:none;color:#fff}.form-actions button:first-child:hover{background:#4b5563}.form-actions button:last-child{background:#7c3aed;border:none;color:#fff}.form-actions button:last-child:hover:not(:disabled){background:#6d28d9}.form-actions button:last-child:disabled{background:#9ca3af;cursor:not-allowed}.loading{align-items:center;display:flex;font-size:18px;height:200px;justify-content:center}@media (max-width:768px){.developer-portal{padding:15px}.portal-header{align-items:flex-start;flex-direction:column;gap:15px}.portal-tabs{flex-wrap:wrap}.portal-tabs button{flex:1 1;min-width:120px}.apps-grid,.form-row,.stats-grid{grid-template-columns:1fr}.modal{margin:20px;width:95%}}.admin-review-system{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.admin-review-system .header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.admin-review-system .back-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.admin-review-system .back-btn:hover{background:#4b5563}.admin-review-system h1{color:#1f2937;font-size:28px;font-weight:600;margin:0}.error-message{font-size:14px}.stats-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.stat-card h3{color:#6b7280;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.stat-number{color:#1f2937;font-size:32px;font-weight:700}.stat-number.approved{color:#059669}.stat-number.rejected{color:#dc2626}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s}.tab:hover{color:#374151}.tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.apps-list{padding:20px}.bulk-actions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:16px}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin:0}.app-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px;transition:box-shadow .2s}.app-card:hover{box-shadow:0 4px 8px #0000001a}.app-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.app-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.status{font-weight:500;letter-spacing:.5px}.status.pending{background:#fef3c7;color:#d97706}.status.approved{background:#d1fae5;color:#059669}.status.rejected{background:#fee2e2;color:#dc2626}.status.revision{background:#dbeafe;color:#2563eb}.app-details{margin-bottom:16px}.app-details p{color:#374151;font-size:14px;line-height:1.5;margin:8px 0}.app-details strong{color:#1f2937;font-weight:600}.app-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:8px 16px;text-decoration:none;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-success{background:#059669;color:#fff}.btn-success:hover:not(:disabled){background:#047857}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.review-form{margin:0 auto;max-width:600px;padding:30px}.review-form h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 24px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-actions{gap:12px;margin-top:30px}.form-actions .btn{flex:1 1;font-size:16px;padding:12px 24px}@media (max-width:768px){.admin-review-system{padding:15px}.admin-review-system .header{align-items:flex-start;flex-direction:column;gap:15px}.stats-overview{gap:15px;grid-template-columns:repeat(2,1fr)}.tabs{flex-direction:column;gap:0}.tab{border-bottom:1px solid #e5e7eb;border-radius:0}.tab.active{border-bottom-color:#3b82f6}.app-header{align-items:flex-start;gap:10px}.app-actions,.app-header,.form-actions{flex-direction:column}.review-form{padding:20px}}@media (max-width:480px){.stats-overview{grid-template-columns:1fr}.stat-card{padding:15px}.stat-number{font-size:28px}}.billing-dashboard{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.billing-dashboard .header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.billing-dashboard .back-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.billing-dashboard .back-btn:hover{background:#4b5563}.billing-dashboard h1{color:#1f2937;font-size:28px;font-weight:600;margin:0}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:20px;padding:12px 16px}.loading{font-size:16px}.tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;margin-bottom:30px;padding-bottom:10px}.tabs button{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.tabs button:hover{background:#f3f4f6;color:#374151}.tabs button.active{background:#3b82f6;color:#fff}.overview-tab{display:flex;flex-direction:column;gap:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.stat-card h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 16px}.stat-value{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:8px}.stat-detail{color:#6b7280;font-size:14px}.quick-actions{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.quick-actions h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 20px}.action-buttons{display:flex;flex-wrap:wrap;gap:12px}.action-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb}.action-btn.secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.action-btn.secondary:hover{background:#e5e7eb}.plans-tab h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px}.plan-filters{display:flex;gap:10px;margin-bottom:30px}.filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.filter-btn:hover{background:#f3f4f6}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.plans-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:transform .2s,box-shadow .2s}.plan-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.plan-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.plan-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.plan-type{background:#f3f4f6;border-radius:4px;color:#374151;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.plan-price{margin-bottom:16px}.price{color:#1f2937;font-size:32px;font-weight:700}.period{color:#6b7280;font-size:16px}.plan-tokens{color:#059669;font-weight:600;margin-bottom:20px}.plan-features{margin-bottom:24px}.feature{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.feature-key{color:#6b7280}.feature-value{color:#374151;font-weight:500}.subscribe-btn{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background-color .2s;width:100%}.subscribe-btn:hover{background:#047857}.subscribe-btn:disabled{background:#9ca3af;cursor:not-allowed}.subscriptions-tab h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px}.no-subscriptions{color:#6b7280;padding:40px;text-align:center}.no-subscriptions p{font-size:16px;margin:0 0 20px}.subscriptions-list{display:flex;flex-direction:column;gap:20px}.subscription-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.subscription-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.subscription-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.status{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status.active{background:#dcfce7;color:#166534}.status.cancelled{background:#fef2f2;color:#dc2626}.status.expired{background:#fef3c7;color:#d97706}.subscription-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.detail{align-items:center;display:flex;justify-content:space-between}.label{color:#6b7280;font-size:14px}.value{color:#374151;font-weight:500}.subscription-actions{display:flex;justify-content:flex-end}.cancel-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.cancel-btn:hover{background:#b91c1c}.cancel-btn:disabled{background:#9ca3af;cursor:not-allowed}.tokens-tab h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px}.token-balance-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:24px}.token-balance-card h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px}.balance-display{align-items:baseline;display:flex;gap:8px;margin-bottom:20px}.balance-amount{color:#1f2937;font-size:48px;font-weight:700}.balance-unit{color:#6b7280;font-size:20px;font-weight:500}.balance-details{display:flex;gap:24px}.balance-detail{display:flex;flex-direction:column;gap:4px}.balance-detail span:first-child{color:#6b7280;font-size:14px}.balance-detail span:last-child{color:#374151;font-weight:500}.token-purchase-section h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 20px}.purchase-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.purchase-option{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .2s}.purchase-option:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.option-tokens{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:8px}.option-price{color:#059669;font-size:18px;font-weight:600}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{padding:24px}.modal-header h3{font-weight:600}.close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{color:#374151}.modal-content{padding:24px}.purchase-summary{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.summary-item{display:flex;justify-content:space-between;margin-bottom:8px}.summary-item:last-child{color:#059669;font-weight:600;margin-bottom:0}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;width:100%}.modal-actions{padding:24px}.modal-actions .cancel-btn{background:#6b7280}.modal-actions .cancel-btn:hover{background:#4b5563}.confirm-btn{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s}.confirm-btn:hover{background:#047857}.confirm-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.billing-dashboard{padding:16px}.billing-dashboard h1{font-size:24px}.tabs{flex-wrap:wrap}.tabs button{flex:1 1;min-width:120px}.plans-grid,.stats-grid{grid-template-columns:1fr}.purchase-options{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column}.action-btn{width:100%}.subscription-details{grid-template-columns:1fr}.balance-details{flex-direction:column;gap:16px}.modal{margin:20px;width:95%}}.user-management-module{margin:0 auto;max-width:1400px;padding:20px}.back-button,.create-button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.back-button:hover,.create-button:hover{background:#f9fafb;border-color:#9ca3af}.create-button{background:#3b82f6;border-color:#3b82f6;color:#fff}.create-button:hover{background:#2563eb}.filters{display:flex;gap:12px;margin-bottom:20px}.filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.users-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table thead{background:#f9fafb}.users-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.users-table td{border-bottom:1px solid #e5e7eb;padding:12px 16px}.users-table tbody tr:hover{background:#f9fafb}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.deactivate-button,.edit-button{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;margin-right:8px;padding:6px 12px;transition:all .2s}.edit-button:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.deactivate-button:hover{background:#ef4444;border-color:#ef4444;color:#fff}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#1f2937;font-size:20px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.close-button:hover{background:#f3f4f6;color:#1f2937}.modal-content form{padding:20px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:6px}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.modal-actions button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px}.modal-actions button[type=submit]{background:#3b82f6;border-color:#3b82f6;color:#fff}.modal-actions button[type=submit]:hover{background:#2563eb}.modal-actions button[type=button]:hover{background:#f9fafb}.system-settings-module{margin:0 auto;max-width:1400px;padding:20px}.settings-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px}.settings-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.settings-tabs button:hover{color:#374151}.settings-tabs button.active{border-bottom-color:#3b82f6;color:#3b82f6}.settings-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.settings-form{max-width:600px}.form-group{margin-bottom:24px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group input[type=url],.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.form-group label:has(input[type=checkbox]){align-items:center;cursor:pointer;display:flex}.form-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px}.form-actions button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.form-actions button:hover:not(:disabled){background:#2563eb}.form-actions button:disabled{cursor:not-allowed;opacity:.6}.analytics-module{margin:0 auto;max-width:1400px;padding:20px}.module-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.module-header h2{color:#1f2937;font-size:24px;margin:0}.back-button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.back-button:hover{background:#f9fafb;border-color:#9ca3af}.date-range{align-items:center;display:flex;gap:12px}.date-range input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.date-range span{color:#6b7280;font-size:14px}.error-message{background:#fee2e2;border-radius:6px;color:#991b1b;margin-bottom:16px;padding:12px}.loading{color:#6b7280;padding:40px;text-align:center}.analytics-dashboard{display:flex;flex-direction:column;gap:24px}.analytics-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.analytics-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.analytics-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.card-icon{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;font-size:32px;height:48px;justify-content:center;width:48px}.card-content{flex:1 1}.card-title{color:#6b7280;font-size:14px;margin-bottom:8px}.card-value{color:#1f2937;font-size:24px;font-weight:700}.analytics-charts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-placeholder{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.chart-placeholder h3{color:#1f2937;font-size:18px;margin:0 0 12px}.chart-placeholder p{color:#6b7280;font-size:14px;margin:8px 0}.chart-placeholder pre{background:#f9fafb;border-radius:6px;color:#374151;font-size:12px;margin-top:12px;overflow-x:auto;padding:12px}.no-data{color:#9ca3af;font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.module-header{align-items:flex-start;flex-direction:column}.date-range{align-items:stretch;flex-direction:column;width:100%}.date-range span{display:none}.analytics-cards,.analytics-charts{grid-template-columns:1fr}}
/*# sourceMappingURL=main.3b7c1ccd.css.map*/