.calendar-page{display:flex;flex-direction:column;gap:1.5rem}.calendar-empty,.calendar-loading,.calendar-error{text-align:center;padding:3rem;background-color:#f9fafb;border-radius:8px;margin:2rem 0}.calendar-empty p,.calendar-loading p,.calendar-error p{font-size:1.2rem;margin-bottom:1rem;color:#666}.calendar-loading{color:#3b82f6}.calendar-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.calendar-error button{margin-top:1rem;padding:.5rem 1rem;background-color:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer}.calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-actions{display:flex;gap:.5rem}.calendar-actions button{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.calendar-actions button:hover{background-color:#2563eb}.print-btn{padding:.5rem 1rem;background-color:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.calendar-wrapper{position:relative}.trash-bin{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#f3f4f6;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;font-size:.875rem;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;cursor:default;z-index:100;box-shadow:0 4px 12px #00000026,0 0 #0000;animation:float 3s ease-in-out infinite;transform:translateY(0)}.trash-bin svg{flex-shrink:0;transition:transform .3s ease}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.trash-bin.drag-over{background-color:#fef2f2;border-color:#ef4444;border-style:solid;border-width:3px;color:#dc2626;transform:translateY(-8px) scale(1.15) rotate(5deg);box-shadow:0 8px 24px #ef444466,0 0 0 8px #ef44441a;animation:none}.trash-bin.drag-over svg{animation:shake .4s ease-in-out infinite;transform:scale(1.2)}@keyframes shake{0%,to{transform:translate(0) rotate(0) scale(1.2)}25%{transform:translate(-6px) rotate(-5deg) scale(1.2)}75%{transform:translate(6px) rotate(5deg) scale(1.2)}}.calendar-legend{display:flex;gap:2rem;padding:1rem;background-color:#f5f5f5;border-radius:4px}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px}.legend-color.exam{background-color:#2563eb}.legend-color.correction{background-color:#059669}.legend-color.in-progress{background-color:#d97706}.legend-color.completed{background-color:#4b5563}.calendar-list{margin-top:2rem}.slot-list{display:flex;flex-direction:column;gap:.5rem}.slot-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:4px}.slot-item-exam{background-color:#eff6ff;border-left:4px solid #3b82f6}.slot-item-correction{background-color:#f0fdf4;border-left:4px solid #10b981}.slot-info{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.slot-date{font-weight:600;color:#1f2937}.slot-time{color:#6b7280}.slot-type{padding:.25rem .5rem;background-color:#e5e7eb;border-radius:4px;font-size:.875rem}.slot-paper{font-weight:500;color:#374151}.slot-status{padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.status-pending{background-color:#fef3c7;color:#92400e}.status-in-progress{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#e5e7eb;color:#374151}.slot-actions{display:flex;gap:.5rem;align-items:center}.print-btn{padding:.5rem 1rem;background-color:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.print-btn:hover{background-color:#059669}.start-btn{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.start-btn:hover:not(:disabled){background-color:#2563eb}.start-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.calendar-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e5e7eb;margin-bottom:1rem}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#6b7280;transition:all .2s}.tab-button:hover{color:#3b82f6;background-color:#f3f4f6}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.tab-content{min-height:400px}.embedded-page{display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:600px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.embedded-header{padding:1rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.back-btn{padding:.5rem 1rem;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.875rem;color:#374151;transition:all .2s}.back-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.embedded-iframe{flex:1;width:100%;border:none;background-color:#fff}.exam-tab-page,.correction-tab-page{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:600px}.exam-tab-header,.correction-tab-header{padding:1rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.exam-tab-content,.correction-tab-content{flex:1;overflow:auto}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.task-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.task-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.task-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.task-modal-close{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.task-modal-close:hover{background-color:#f3f4f6}.task-modal-body{padding:1.5rem}.task-modal-time{margin-bottom:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:6px}.task-modal-time p{margin:0;color:#374151;font-size:.95rem}.task-modal-field{margin-bottom:1.5rem}.task-modal-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.95rem}.task-modal-field select,.task-modal-field input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;color:#1f2937;background-color:#fff;transition:border-color .2s}.task-modal-field select:focus,.task-modal-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.task-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.task-modal-cancel,.task-modal-confirm{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.task-modal-cancel{background-color:#f3f4f6;color:#374151}.task-modal-cancel:hover{background-color:#e5e7eb}.task-modal-confirm{background-color:#3b82f6;color:#fff}.task-modal-confirm:hover{background-color:#2563eb}.task-modal-confirm:disabled{background-color:#9ca3af;cursor:not-allowed}.fc-daygrid-event{white-space:normal!important;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;line-height:1.3!important;padding:2px 4px!important}.fc-daygrid-event .fc-event-title{white-space:normal!important;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;line-height:1.3!important}.fc-event{color:#fff!important;font-weight:500;transition:none!important;animation:none!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.fc-event.event-type-exam{background-color:#2563eb!important;border-color:#2563eb!important}.fc-event.event-type-correction{background-color:#059669!important;border-color:#059669!important}.fc-event.event-status-in-progress{background-color:#d97706!important;border-color:#d97706!important}.fc-event.event-status-completed{background-color:#4b5563!important;border-color:#4b5563!important}.fc-daygrid-event,.fc-daygrid-event .fc-event-main,.fc-daygrid-event .fc-event-main-frame{background-color:inherit!important}.fc-daygrid-day{background-color:#fff!important}.fc-day-today{background-color:#f9fafb!important}.fc-daygrid-event{border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 1px 2px #0000001a!important}.fc-daygrid-day-events,.fc-daygrid-day-frame{overflow:visible!important}@media (max-width: 768px){.slot-item,.slot-info{flex-direction:column;align-items:flex-start;gap:.5rem}.task-modal{width:95%;margin:1rem}}
