:root{--bg:#f7f7fb;--panel:#fff;--muted:#6b7280;--text:#111827;--primary:#10b981;--primary-600:#0ea371;--brand:#4f46e5;--ring:rgba(99,102,241,.15);--border:#e5e7eb;--danger:#ef4444;--danger-bg:#fee2e2;--danger-border:#fecaca;--modal-primary:#3b82f6;--modal-primary-hover:#2563eb;--modal-primary-light:#eff6ff;--modal-success:#10b981;--modal-error:#ef4444;--modal-warning:#f59e0b;--modal-text-primary:#111827;--modal-text-secondary:#6b7280;--modal-bg-card:#fff;--modal-bg-selected:#eff6ff;--modal-border:#e5e7eb;--modal-border-selected:#3b82f6;--modal-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--modal-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--modal-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--modal-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--modal-radius-sm:6px;--modal-radius-md:8px;--modal-radius-lg:12px;--modal-spacing-xs:4px;--modal-spacing-sm:8px;--modal-spacing-md:12px;--modal-spacing-lg:16px;--modal-spacing-xl:20px;--modal-spacing-2xl:24px;--timetable-primary:#3b82f6;--timetable-primary-hover:#2563eb;--timetable-primary-light:#eff6ff;--timetable-primary-dark:#1e40af;--timetable-subject-math:#3b82f6;--timetable-subject-science:#10b981;--timetable-subject-language:#f59e0b;--timetable-subject-history:#8b5cf6;--timetable-subject-arts:#ef4444;--timetable-subject-sports:#06b6d4;--timetable-subject-music:#84cc16;--timetable-subject-default:#6b7280;--timetable-status-scheduled:#10b981;--timetable-status-cancelled:#ef4444;--timetable-status-moved:#f59e0b;--timetable-status-completed:#6b7280;--timetable-conflict-critical:#dc2626;--timetable-conflict-high:#ea580c;--timetable-conflict-medium:#ca8a04;--timetable-conflict-low:#2563eb;--timetable-conflict-bg:#fef2f2;--timetable-conflict-border:#fecaca;--timetable-grid-bg:#fff;--timetable-grid-header-bg:linear-gradient(135deg,#fff,#f8fafc);--timetable-grid-border:#e2e8f0;--timetable-grid-hover:rgba(79,70,229,.02);--timetable-font-family:"Inter",system-ui,sans-serif;--timetable-font-weight-normal:400;--timetable-font-weight-medium:500;--timetable-font-weight-semibold:600;--timetable-font-weight-bold:700;--timetable-font-weight-extrabold:800;--timetable-spacing-xs:4px;--timetable-spacing-sm:8px;--timetable-spacing-md:12px;--timetable-spacing-lg:16px;--timetable-spacing-xl:20px;--timetable-spacing-2xl:24px;--timetable-spacing-3xl:32px;--timetable-radius-sm:6px;--timetable-radius-md:8px;--timetable-radius-lg:10px;--timetable-radius-xl:12px;--timetable-radius-2xl:16px;--timetable-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--timetable-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--timetable-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--timetable-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--timetable-shadow-conflict:0 4px 12px rgba(220,38,38,.2);--timetable-transition-fast:0.15s ease-out;--timetable-transition-normal:0.2s ease-out;--timetable-transition-slow:0.3s ease-out;--timetable-transition-bounce:0.3s cubic-bezier(0.4,0,0.2,1);--timetable-z-base:1;--timetable-z-dropdown:10;--timetable-z-sticky:20;--timetable-z-modal:50;--timetable-z-tooltip:100;--timetable-focus-ring:0 0 0 3px rgba(59,130,246,.3);--timetable-focus-ring-error:0 0 0 3px rgba(239,68,68,.3);--timetable-focus-ring-success:0 0 0 3px rgba(16,185,129,.3);--timetable-focus-ring-warning:0 0 0 3px rgba(245,158,11,.3);--timetable-focus-outline:2px solid #3b82f6;--timetable-focus-offset:2px;--timetable-high-contrast-border:2px solid;--timetable-high-contrast-focus:3px solid #ff0;--timetable-high-contrast-text:#000;--timetable-high-contrast-bg:#fff}*{box-sizing:border-box}#_next,body,html{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--brand);text-decoration:none;transition:color .2s}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}button{cursor:pointer}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:1em;background-color:var(--brand);color:#fff;text-decoration:none}.skip-to-main:focus{left:50%;transform:translateX(-50%);top:1em}li,p{line-height:1.6}button:disabled{opacity:.6;cursor:not-allowed}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.contextual-help-link{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:14px;font-weight:500;text-decoration:none;padding:6px 12px;border-radius:6px;transition:all .2s ease}.contextual-help-link:hover{background-color:rgba(79,70,229,.08);text-decoration:none}.contextual-help-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.contextual-help-link svg{flex-shrink:0}.contextual-help-button{display:inline-flex;align-items:center;gap:8px;background-color:#fff;color:var(--brand);font-size:14px;font-weight:500;padding:8px 16px;border:1px solid var(--border);border-radius:8px;transition:all .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.05)}.contextual-help-button:hover{background-color:rgba(79,70,229,.04);border-color:var(--brand);box-shadow:0 2px 4px rgba(0,0,0,.08)}.contextual-help-button:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.05)}.contextual-help-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.contextual-help-button svg{flex-shrink:0}.contextual-help-banner{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,rgba(79,70,229,.05),rgba(99,102,241,.08));border:1px solid rgba(79,70,229,.2);border-radius:12px;padding:16px;margin-bottom:24px}.contextual-help-banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:#fff;border-radius:8px;color:var(--brand);box-shadow:0 2px 4px rgba(0,0,0,.05)}.contextual-help-banner-content{flex:1 1;display:flex;flex-direction:column;gap:8px}.contextual-help-banner-text{margin:0;color:var(--text);font-size:14px;line-height:1.5}.contextual-help-banner-button{align-self:flex-start;background-color:var(--brand);color:#fff;font-size:13px;font-weight:600;padding:6px 14px;border:none;border-radius:6px;transition:all .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.05)}.contextual-help-banner-button:hover{background-color:var(--primary-600);box-shadow:0 2px 4px rgba(0,0,0,.1)}.contextual-help-banner-button:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.05)}.contextual-help-banner-button:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (max-width:768px){.contextual-help-banner{flex-direction:column;align-items:center;text-align:center}.contextual-help-banner-content{align-items:center}.contextual-help-banner-button{align-self:center}}[role=button]:focus-visible,[tabindex]:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.subjects-container button:focus-visible,.subjects-container input:focus-visible,.subjects-container select:focus-visible,.subjects-container textarea:focus-visible{outline-width:4px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body{font-size:18px}}.timetable-container :focus-visible{outline:var(--timetable-focus-outline);outline-offset:var(--timetable-focus-offset);box-shadow:var(--timetable-focus-ring);border-radius:var(--timetable-radius-sm)}.schedule-cell:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:2px;box-shadow:var(--timetable-focus-ring),inset 0 0 0 2px var(--timetable-primary);z-index:var(--timetable-z-sticky);position:relative}.enhanced-btn-danger:focus-visible,.enhanced-btn-primary:focus-visible,.enhanced-btn-secondary:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:3px;box-shadow:var(--timetable-focus-ring)}.enhanced-btn-danger:focus-visible{outline-color:var(--timetable-conflict-critical);box-shadow:var(--timetable-focus-ring-error)}.enhanced-form-input:focus-visible,.enhanced-form-select:focus-visible,.enhanced-form-textarea:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:2px;box-shadow:var(--timetable-focus-ring);border-color:var(--timetable-primary)}.enhanced-modal-content:focus-within{box-shadow:var(--timetable-shadow-xl),0 0 0 4px rgba(59,130,246,.2)}.day-selector-btn:focus-visible,.today-btn:focus-visible,.week-nav-btn:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:2px;box-shadow:var(--timetable-focus-ring)}[role=tab]:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:2px;box-shadow:var(--timetable-focus-ring);z-index:var(--timetable-z-sticky);position:relative}[role=gridcell]:focus-visible{outline:3px solid var(--timetable-primary);outline-offset:1px;box-shadow:var(--timetable-focus-ring),inset 0 0 0 2px var(--timetable-primary);z-index:var(--timetable-z-sticky);position:relative}@media (prefers-contrast:high){:root{--timetable-primary:#00f;--timetable-primary-hover:navy;--timetable-primary-dark:#000040;--timetable-grid-border:#000;--timetable-focus-outline:4px solid #ff0;--timetable-focus-ring:0 0 0 4px #ff0;--timetable-high-contrast-focus:4px solid #ff0}.enhanced-btn-danger,.enhanced-btn-primary,.enhanced-btn-secondary,.enhanced-form-input,.enhanced-form-select,.enhanced-form-textarea,.schedule-cell{border:var(--timetable-high-contrast-border) #000}:focus-visible{outline:var(--timetable-high-contrast-focus);outline-offset:2px;box-shadow:none}.confirmation-dialog,.enhanced-modal-content,.timetable-container{color:var(--timetable-high-contrast-text);background:var(--timetable-high-contrast-bg)}.enhanced-btn-primary{background:#000;color:#fff;border:2px solid #000}.enhanced-btn-primary:hover{background:#333;border-color:#333}.enhanced-btn-secondary{background:#fff;color:#000;border:2px solid #000}.enhanced-btn-secondary:hover{background:#f0f0f0}.enhanced-btn-danger{background:red;color:#fff;border:2px solid red}.enhanced-btn-danger:hover{background:#c00;border-color:#c00}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.confirmation-dialog,.enhanced-modal-content,.mobile-schedule-card,.schedule-entry{animation:none!important;transform:none!important}}.sr-only-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.keyboard-navigation-active .schedule-cell:focus{outline:3px solid var(--timetable-primary);outline-offset:2px;box-shadow:var(--timetable-focus-ring),inset 0 0 0 2px var(--timetable-primary);background-color:rgba(59,130,246,.05)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--timetable-primary);color:#fff;padding:8px;text-decoration:none;border-radius:var(--timetable-radius-md);z-index:var(--timetable-z-tooltip);font-weight:var(--timetable-font-weight-semibold)}.skip-link:focus{top:6px}.enhanced-form-input.error:focus-visible,.enhanced-form-select.error:focus-visible,.enhanced-form-textarea.error:focus-visible{outline-color:var(--timetable-conflict-critical);box-shadow:var(--timetable-focus-ring-error);border-color:var(--timetable-conflict-critical)}.enhanced-form-input.success:focus-visible,.enhanced-form-select.success:focus-visible,.enhanced-form-textarea.success:focus-visible{outline-color:var(--timetable-status-scheduled);box-shadow:var(--timetable-focus-ring-success);border-color:var(--timetable-status-scheduled)}.enhanced-form-input.warning:focus-visible,.enhanced-form-select.warning:focus-visible,.enhanced-form-textarea.warning:focus-visible{outline-color:var(--timetable-status-moved);box-shadow:var(--timetable-focus-ring-warning);border-color:var(--timetable-status-moved)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}@media (prefers-contrast:high){button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.8;background-color:#f0f0f0;color:#666;border-color:#999}}.conflict-indicator{outline:2px solid var(--timetable-conflict-critical);outline-offset:1px}@media (prefers-contrast:high){.conflict-indicator{outline-width:3px;background-color:#ff0;color:#000}}.status-badge{border:1px solid;font-weight:var(--timetable-font-weight-semibold)}@media (prefers-contrast:high){.status-badge{border-width:2px;font-weight:var(--timetable-font-weight-bold)}}.performance-dashboard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--timetable-spacing-lg)}.performance-dashboard{background:#fff;border-radius:var(--timetable-radius-lg);box-shadow:var(--timetable-shadow-xl);width:90vw;max-width:1200px;height:80vh;display:flex;flex-direction:column;overflow:hidden}.performance-dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--timetable-spacing-lg);border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.performance-dashboard-header h2{align-items:center;margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--gray-900)}.performance-dashboard-controls,.performance-dashboard-header h2{display:flex;gap:var(--timetable-spacing-sm)}.performance-button{display:flex;align-items:center;gap:var(--timetable-spacing-xs);padding:var(--timetable-spacing-sm) var(--timetable-spacing-md);border:1px solid var(--gray-300);border-radius:var(--timetable-radius-md);background:#fff;color:var(--gray-700);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--timetable-transition-normal)}.performance-button:hover{background:var(--gray-50);border-color:var(--gray-400)}.performance-button.record{background:var(--status-cancelled);color:#fff;border-color:var(--status-cancelled)}.performance-button.record:hover{background:#dc2626}.performance-button.stop{background:var(--gray-600);color:#fff;border-color:var(--gray-600)}.performance-button.export{background:var(--timetable-primary);color:#fff;border-color:var(--timetable-primary)}.performance-button.export:hover{background:var(--timetable-primary-hover)}.performance-dashboard-content{flex:1 1;padding:var(--timetable-spacing-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--timetable-spacing-lg)}.performance-score{display:flex;align-items:center;gap:var(--timetable-spacing-xl);padding:var(--timetable-spacing-lg);background:var(--gray-50);border-radius:var(--timetable-radius-lg);border:1px solid var(--gray-200)}.score-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--status-scheduled) 0deg,var(--status-scheduled) calc(var(--score, 0) * 3.6deg),var(--gray-200) calc(var(--score, 0) * 3.6deg),var(--gray-200) 1turn);position:relative}.score-circle:before{content:"";position:absolute;width:60px;height:60px;background:#fff;border-radius:50%}.score-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--gray-900);z-index:1}.score-label{font-size:var(--text-xs);color:var(--gray-600);z-index:1}.score-details{flex:1 1;display:flex;flex-direction:column;gap:var(--timetable-spacing-md)}.score-item{display:flex;justify-content:space-between;align-items:center}.score-item .label{font-size:var(--text-sm);color:var(--gray-600)}.score-item .value{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--timetable-spacing-xs) var(--timetable-spacing-sm);border-radius:var(--timetable-radius-sm)}.score-item .value.good{background:var(--status-scheduled);color:#fff}.score-item .value.warning{background:var(--status-pending);color:#fff}.score-item .value.critical{background:var(--status-cancelled);color:#fff}.score-item .value.unknown{background:var(--gray-200);color:var(--gray-600)}.performance-alerts{background:#fff;border:1px solid var(--gray-200);border-radius:var(--timetable-radius-lg);overflow:hidden}.alerts-header{display:flex;justify-content:space-between;align-items:center;padding:var(--timetable-spacing-md) var(--timetable-spacing-lg);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.alerts-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--gray-900)}.clear-alerts{padding:var(--timetable-spacing-xs) var(--timetable-spacing-sm);border:1px solid var(--gray-300);border-radius:var(--timetable-radius-sm);background:#fff;color:var(--gray-600);font-size:var(--text-xs);cursor:pointer;transition:var(--timetable-transition-normal)}.clear-alerts:hover{background:var(--gray-50)}.alerts-list{padding:var(--timetable-spacing-md);flex-direction:column}.alert,.alerts-list{display:flex;gap:var(--timetable-spacing-sm)}.alert{align-items:center;padding:var(--timetable-spacing-sm) var(--timetable-spacing-md);border-radius:var(--timetable-radius-md);font-size:var(--text-sm)}.alert.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.alert.alert-critical{background:#fee2e2;color:#991b1b;border:1px solid #f87171}.performance-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--timetable-spacing-lg);gap:var(--timetable-spacing-lg)}.metric-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--timetable-radius-lg);padding:var(--timetable-spacing-lg)}.metric-card h3{margin:0 0 var(--timetable-spacing-md) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--gray-900)}.no-data{color:var(--gray-500);font-style:italic;text-align:center;padding:var(--timetable-spacing-lg)}.render-metrics{display:flex;flex-direction:column;gap:var(--timetable-spacing-sm)}.render-item{display:flex;justify-content:space-between;align-items:center;padding:var(--timetable-spacing-sm);background:var(--gray-50);border-radius:var(--timetable-radius-sm)}.component-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-900)}.render-time{font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--timetable-spacing-xs) var(--timetable-spacing-sm);border-radius:var(--timetable-radius-sm)}.render-time.good{background:var(--status-scheduled);color:#fff}.render-time.warning{background:var(--status-pending);color:#fff}.render-time.critical{background:var(--status-cancelled);color:#fff}.sample-count{font-size:var(--text-xs);color:var(--gray-500)}.memory-metrics{display:flex;flex-direction:column;gap:var(--timetable-spacing-sm)}.memory-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.memory-item .label{color:var(--gray-600)}.memory-item .value{font-weight:var(--font-medium);color:var(--gray-900)}.memory-bar{height:8px;background:var(--gray-200);border-radius:var(--timetable-radius-sm);overflow:hidden;margin-top:var(--timetable-spacing-sm)}.memory-usage{height:100%;background:linear-gradient(90deg,var(--status-scheduled),var(--status-pending),var(--status-cancelled));transition:width var(--timetable-transition-normal)}.navigation-metrics,.vitals-metrics{display:flex;flex-direction:column;gap:var(--timetable-spacing-sm)}.nav-item,.vital-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.nav-item .label,.vital-item .label{color:var(--gray-600)}.nav-item .value,.vital-item .value{font-weight:var(--font-medium);padding:var(--timetable-spacing-xs) var(--timetable-spacing-sm);border-radius:var(--timetable-radius-sm)}.vital-item .value.good{background:var(--status-scheduled);color:#fff}.vital-item .value.warning{background:var(--status-pending);color:#fff}.vital-item .value.critical{background:var(--status-cancelled);color:#fff}.resource-metrics{display:flex;flex-direction:column;gap:var(--timetable-spacing-xs)}.resource-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:var(--timetable-spacing-sm);gap:var(--timetable-spacing-sm);align-items:center;padding:var(--timetable-spacing-xs);font-size:var(--text-xs)}.resource-name{color:var(--gray-900);font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-duration,.resource-size{color:var(--gray-600);font-family:var(--timetable-font-mono)}@media (max-width:768px){.performance-dashboard{width:95vw;height:90vh}.performance-dashboard-content,.performance-dashboard-header{padding:var(--timetable-spacing-md)}.performance-score{flex-direction:column;text-align:center;gap:var(--timetable-spacing-md)}.performance-metrics-grid{grid-template-columns:1fr}.performance-dashboard-controls{flex-wrap:wrap}.performance-button{padding:var(--timetable-spacing-xs) var(--timetable-spacing-sm);font-size:var(--text-xs)}}.classes-management-section{font-family:var(--timetable-font-family)}.classes-management-section .section-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.classes-management-section .enhanced-class-card{font-family:var(--timetable-font-family);transition:all var(--timetable-transition-normal)}.classes-management-section .enhanced-class-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.content .classes-management-section{margin:0}@media (max-width:768px){.classes-management-section .section-header{padding:16px}.classes-management-section .header-content{gap:12px}.classes-management-section .header-title h2{font-size:20px}.classes-management-section .controls-bar{padding:12px 16px}}.schedule-page .classes-management-section{background:transparent}.schedule-page .classes-management-section .enhanced-class-card{border:1px solid var(--timetable-grid-border,#e5e7eb);box-shadow:var(--timetable-shadow-sm,0 1px 3px 0 rgba(0,0,0,.1))}.schedule-page .classes-management-section .enhanced-class-card:hover{border-color:var(--timetable-primary-light,#dbeafe);box-shadow:var(--timetable-shadow-lg,0 10px 25px -5px rgba(0,0,0,.1))}.modern-desktop-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;margin:20px 0}.schedule-table-container{overflow-x:auto}.modern-schedule-table{width:100%;border-collapse:collapse;font-size:14px}.table-header{background:#f8fafc;border-bottom:2px solid #e5e7eb}.time-header{text-align:left;width:120px;background:#f1f5f9}.day-header-cell,.time-header{padding:16px 12px;font-weight:600;color:#374151;font-size:13px;text-transform:uppercase;letter-spacing:.025em;border-right:1px solid #e5e7eb}.day-header-cell{text-align:center;min-width:160px}.day-header-content{display:flex;flex-direction:column;align-items:center;gap:4px}.day-name{font-size:14px}.day-short{font-size:11px;font-weight:400;color:#6b7280;opacity:.8}.table-row{border-bottom:1px solid #e5e7eb}.table-row.even{background:#fff}.table-row.odd{background:#f9fafb}.time-cell{padding:8px;border-right:1px solid #e5e7eb;height:80px;vertical-align:top}.time-content{font-weight:600;line-height:1.2;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px;border-radius:8px;text-align:center;border:1px solid #e2e8f0;height:100%;display:flex;flex-direction:column;justify-content:center}.start-time,.time-content{color:#374151;font-size:14px}.start-time{font-weight:700}.end-time{font-size:11px;color:#6b7280;font-weight:400;margin-top:2px}.schedule-cell{padding:8px;border-right:1px solid #e5e7eb;height:80px;vertical-align:top}.modern-schedule-entry{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:6px;padding:8px;height:64px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between}.modern-schedule-entry:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.entry-content{height:100%;flex-direction:column}.entry-content,.entry-header{display:flex;justify-content:space-between}.entry-header{align-items:flex-start;margin-bottom:4px}.subject-name{font-weight:700;font-size:13px;line-height:1.2;color:#1e40af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.entry-details{display:flex;flex-direction:column;gap:1px}.entry-detail{display:flex;align-items:center;gap:4px;font-size:11px;color:#1e40af;opacity:.9;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-empty-slot{background:#f9fafb;border:2px dashed #d1d5db;border-radius:6px;height:64px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:12px;cursor:pointer;transition:all .2s ease}.modern-empty-slot:hover{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.empty-slot-content{display:flex;flex-direction:column;align-items:center;gap:4px}.empty-slot-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(59,130,246,.1);color:#3b82f6}.empty-slot-text{font-size:11px;font-weight:500;text-align:center}.modern-schedule-entry.math{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.modern-schedule-entry.math .entry-detail,.modern-schedule-entry.math .subject-name{color:#1e40af}.modern-schedule-entry.science{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.modern-schedule-entry.science .entry-detail,.modern-schedule-entry.science .subject-name{color:#065f46}.modern-schedule-entry.french{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.modern-schedule-entry.french .entry-detail,.modern-schedule-entry.french .subject-name{color:#92400e}.modern-schedule-entry.history{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#ef4444}.modern-schedule-entry.history .entry-detail,.modern-schedule-entry.history .subject-name{color:#991b1b}.modern-schedule-entry.english{background:linear-gradient(135deg,#e9d5ff,#d8b4fe);border-color:#8b5cf6}.modern-schedule-entry.english .entry-detail,.modern-schedule-entry.english .subject-name{color:#5b21b6}.modern-schedule-entry.sport{background:linear-gradient(135deg,#cffafe,#a5f3fc);border-color:#06b6d4}.modern-schedule-entry.sport .entry-detail,.modern-schedule-entry.sport .subject-name{color:#164e63}.modern-mobile-view{display:flex;flex-direction:column;gap:16px}.modern-day-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.day-header{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.day-info{display:flex;flex-direction:column;gap:4px}.day-name{font-size:16px;font-weight:700;color:#374151}.day-stats{font-size:13px;color:#6b7280;font-weight:500}.day-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.day-content.expanded{max-height:2000px}.time-slot-row{display:flex;align-items:flex-start;gap:16px;padding:12px 20px;border-bottom:1px solid #e5e7eb}.time-slot-row:last-child{border-bottom:none}.time-label{flex-shrink:0;width:60px;text-align:center;padding:8px;background:#f8fafc;border-radius:6px;border:1px solid #e5e7eb}.time-label .start-time{font-weight:700;color:#374151;font-size:13px}.time-label .end-time{font-size:11px;color:#6b7280;font-weight:500;margin-top:2px}.slot-content{flex:1 1}@media (max-width:768px){.modern-schedule-entry{height:60px;padding:6px}.subject-name{font-size:12px}.entry-detail{font-size:10px}.modern-empty-slot{height:60px}.empty-slot-text{font-size:10px}}