:root{--background-color: #ffffff;--background-color-2: #cde3fa;--secondary-background-color: #e1ebf4;--text-color: #212529;--secondary-text-color: #6c757d;--primary-color: #007bff;--primary-color-hover: #0056b3;--border-color: #dee2e6;--input-border-color: #ced4da;--error-color: #dc3545;--button-disabled-bg: #ced4da;--button-disabled-color: #6c757d;--text-highlight-color: #000000;--font-family-base: sans-serif;--border-radius: .25rem;--hover-item-color: #0088ff15;--surface-color: #f4f4f4}body{margin:0;font-family:var(--font-family-base);background-color:var(--background-color);color:var(--text-color);line-height:1.5}h2{color:var(--text-color)}body.dark-mode{--background-color: #1a1a1a;--background-color-2: #0c0c0c;--secondary-background-color: #2a2a2a;--text-color: #e0e0e0;--secondary-text-color: #a0a0a0;--primary-color: #0d6efd;--primary-color-hover: #0b5ed7;--border-color: #444444;--input-border-color: #555555;--error-color: #ff6b6b;--button-disabled-bg: #444444;--button-disabled-color: #888888;--text-highlight-color: #ffffff;--input-background-color: #333333;--hover-item-color: #ffffff0a;--surface-color: #1e1e1e}body.dark-mode .form-group input{background-color:var(--input-background-color)}.btn{padding:8px 15px;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.95em;transition:background-color .2s ease,color .2s ease,border-color .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.btn i{line-height:1}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-color-hover)}.btn-secondary{background-color:var(--secondary-background-color);color:var(--secondary-text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-color)}.btn-warning{background-color:var(--secondary-background-color);color:var(--error-color);border:1px solid var(--error-color)}.btw-warning:hover{color:red}.btn-sm{padding:5px 10px;font-size:.85em}.form-select{display:inline-block;width:auto;min-width:200px;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-color);background-color:var(--background-color);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid var(--input-border-color);border-radius:var(--border-radius);appearance:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.sidenav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;cursor:pointer;opacity:1;transition:opacity .3s ease-in-out}.backgroud-menu-button{cursor:pointer;background-color:var(--background-color-2);width:40px;height:40px;border-radius:3px;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.menu-bar{width:28px;height:4px;background-color:var(--primary-color)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable-header:hover{background-color:var(--hover-background-color)}body.dark-mode .sortable-header:hover{background-color:var(--dark-hover-background-color)}.sortable-header i.fas{margin-left:5px;font-size:.8em;color:var(--text-color)}.sortable-header i.fas.text-muted{color:var(--secondary-text-color);opacity:.6}.sortable-header i.fa-sort-up,.sortable-header i.fa-sort-down{color:var(--primary-color)}.search-form-container{margin-bottom:20px;width:31%}.search-input-group{display:flex;gap:10px;align-items:center}.search-input-group .form-control{flex-grow:1;padding:.5rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--input-background-color);color:var(--text-color)}.app-header{display:flex;justify-content:space-between}.mat-datepicker-content{background-color:var(--background-color)!important;color:var(--text-color)!important;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f!important;border-radius:var(--border-radius)!important;border:1px solid var(--border-color)!important}.mat-calendar{background-color:var(--background-color)}.mat-calendar-body-cell{background-color:var(--background-color);color:var(--text-color)}.mat-calendar-body-selected{background-color:var(--primary-color);color:#fff}.mat-calendar-controls .mat-button-wrapper{color:var(--primary-color)}.mat-calendar-previous-button,.mat-calendar-next-button,.mat-calendar-body-disabled{color:var(--secondary-text-color)}.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content{background-color:var(--hover-item-color)}.fc-event-professor{font-size:.8em;opacity:.8;font-style:italic;margin-top:2px}body.dark-mode .fc-popover{background-color:var(--secondary-background-color);border:1px solid var(--border-color);box-shadow:0 4px 12px #0006}body.dark-mode .fc-popover-header{background-color:var(--background-color);color:var(--text-color);border-bottom-color:var(--border-color)}body.dark-mode .fc-popover-body{background-color:var(--secondary-background-color)}body.dark-mode .fc-popover-body .fc-daygrid-event .fc-event-title{color:#fff!important}body.dark-mode .fc-popover-close{color:var(--secondary-text-color)}body.dark-mode .mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--secondary-background-color)!important;color:var(--text-color)!important;border:1px solid var(--border-color);box-shadow:0 4px 12px #0006}body.dark-mode .mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--text-color)!important;border-bottom:1px solid var(--border-color);padding-bottom:10px}body.dark-mode .mat-mdc-dialog-container .dialog-subtitle{color:var(--secondary-text-color)!important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--text-color)!important;background-color:var(--secondary-background-color)!important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button{color:var(--text-color)!important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-raised-button.mat-primary{background-color:var(--primary-color)!important;color:#fff!important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-raised-button.mat-warn{background-color:var(--warn-color)!important;color:#fff!important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-form-field{--mdc-filled-text-field-container-color: var(--background-color) !important;--mdc-filled-text-field-input-text-color: var(--text-color) !important;--mdc-filled-text-field-label-text-color: var(--secondary-text-color) !important;--mdc-filled-text-field-focus-label-text-color: var(--primary-color) !important;--mdc-filled-text-field-hover-label-text-color: var(--text-color) !important;--mdc-filled-text-field-active-indicator-color: var(--primary-color) !important;--mdc-filled-text-field-hover-state-layer-color: var(--hover-item-color) !important}body.dark-mode .mat-mdc-dialog-container .mat-mdc-form-field.mat-focused .mat-mdc-form-field-ripple{background-color:var(--primary-color)!important}.chip{display:flex;align-items:center;background-color:#e0e0e0;border-radius:16px;padding:5px 12px;font-size:14px;color:var(--text-color);border:1px solid var(--border-color)}.close-chip{background:none;border:none;cursor:pointer;font-size:18px;margin-left:8px;color:#666;line-height:1;padding:0}.close-chip:hover{color:#d32f2f}.error-snackbar{background-color:#f44336!important;color:#fff!important;font-weight:700}.success-snackbar{background-color:#4caf50!important;color:#fff!important}@media print{footer,.app-footer,app-footer,.app-header,nav,.no-print{display:none!important}@page{size:A4 portrait;margin:10mm}body{background-color:#fff!important;margin:0!important;padding:0!important}}@media print{.app-header{display:none}}
