.schedule-day-off-modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:8px;padding:20px;box-shadow:0 10px 25px rgba(0,0,0,.1)}.schedule-day-off-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:#374151;color:#fff;border-radius:8px 8px 0 0;margin:-20px -20px 20px}.schedule-day-off-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.schedule-day-off-modal .close-button{background:none;border:none;font-size:18px;cursor:pointer;color:#fff;padding:4px;border-radius:4px;transition:background-color .2s;opacity:.8}.schedule-day-off-modal .close-button:hover{background-color:hsla(0,0%,100%,.1);opacity:1}.schedule-day-off-modal .modal-body{padding:0;background:#fff}.schedule-form{gap:20px}.form-group,.schedule-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-label{font-weight:500;color:#374151;font-size:14px}.required-asterisk{color:#ef4444;margin-left:2px}.form-input,.form-select,.form-textarea{padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;background-color:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-textarea{resize:vertical;font-family:inherit;min-height:80px}.reason-input-group{display:flex;gap:8px}.reason-input-group .form-select{flex:1}.reason-select-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:12px 16px;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap;transition:background-color .2s}.reason-select-btn:hover{background:#e5e7eb}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.error-message{color:#ef4444;font-size:12px;margin-top:4px}.info-box{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:16px 0}.info-icon{font-size:20px;flex-shrink:0}.info-content{flex:1}.info-content strong{display:block;color:#1e40af;font-size:14px;margin-bottom:4px}.info-content p{color:#1e40af;font-size:13px;margin:0;line-height:1.4}.affected-classes-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-top:16px}.affected-classes-section h3{margin:0 0 16px;color:#374151;font-size:16px;font-weight:600}.classes-summary{display:flex;flex-direction:column;gap:12px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.summary-item:last-child{border-bottom:none}.summary-label{color:#6b7280;font-size:14px}.summary-value{color:#374151;font-weight:500;font-size:14px}.schedule-day-off-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 0;border-top:1px solid #e5e7eb;background-color:#fff;margin-top:20px}.cancel-btn{min-width:120px}.submit-btn{min-width:140px}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.submit-btn:disabled,.submit-btn:disabled:hover{background-color:#9ca3af}@media (max-width:640px){.schedule-day-off-modal{width:95%;margin:20px}.schedule-day-off-modal .modal-body{padding:20px}.reason-input-group{flex-direction:column}.reason-select-btn{align-self:flex-start}.classes-summary{gap:8px}.summary-item{flex-direction:column;align-items:flex-start;gap:4px}.schedule-day-off-modal .modal-footer{flex-direction:column-reverse;gap:10px;padding:16px 20px}.cancel-btn,.submit-btn{width:auto;min-width:120px}}@keyframes slideInModal{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.schedule-day-off-modal{animation:slideInModal .2s ease-out}.reason-modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:8px;padding:0}.reason-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#374151;color:#fff;border-radius:8px 8px 0 0;margin:0}.reason-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.reason-modal .close-button{background:none;border:none;font-size:18px;cursor:pointer;color:#fff;padding:4px;border-radius:4px;transition:background-color .2s;opacity:.8}.reason-modal .close-button:hover{background-color:hsla(0,0%,100%,.1);opacity:1}.modal-body{padding:24px}.modal-description{color:#6b7280;margin-bottom:24px;font-size:14px;line-height:1.5}.reason-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.reason-card{display:flex;align-items:center;padding:16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:#fff}.reason-card:hover{border-color:#3b82f6;background-color:#f8faff;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.reason-card.selected{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 0 1px #3b82f6}.reason-card:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.reason-card-icon{font-size:24px;margin-right:12px;flex-shrink:0}.reason-card-text{font-weight:500;color:#374151;font-size:14px}.reason-card.selected .reason-card-text{color:#1e40af}.custom-reason-section{margin-top:24px;padding:20px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.custom-reason-label{display:block;font-weight:500;color:#374151;font-size:14px;margin-bottom:8px}.custom-reason-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.custom-reason-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input-help-text{display:block;color:#6b7280;font-size:12px;margin-top:6px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 8px 8px}.cancel-btn{background:#fff;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.confirm-btn{min-width:140px}.confirm-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-btn:disabled,.confirm-btn:disabled:hover{background-color:#9ca3af}@media (max-width:640px){.reason-modal{width:95%;margin:20px}.reason-cards-grid{grid-template-columns:1fr}.modal-body{padding:20px}.modal-footer{flex-direction:column-reverse;gap:10px;padding:16px 20px}.cancel-btn,.confirm-btn{width:100%}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.reason-modal{animation:modalSlideIn .2s ease-out}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);width:90%;max-width:400px;text-align:center}.confirmation-header{background-color:#16a34a;color:#fff;padding:20px;border-radius:8px 8px 0 0}.success-icon{font-size:48px;margin-bottom:10px}.confirmation-header h2{margin:0;font-size:20px;font-weight:600}.confirmation-content{padding:30px 20px}.confirmation-content p{margin:0 0 15px;color:#374151;font-size:16px;line-height:1.5}.confirmation-content p:last-child{margin-bottom:0}.confirmation-footer{padding:0 20px 20px}.primary-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;width:auto;min-width:120px;text-align:center}.primary-btn:hover{background-color:#2563eb}.primary-btn:active{background-color:#1d4ed8}