@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.form-container{border-radius:10px;box-shadow:0 3px 8px #0000001a;display:flex;flex-direction:column;gap:14px;margin:0 auto;padding:22px}.form-input,.form-select,.form-textarea{background:#fff;border:1.5px solid #ccc;border-radius:6px;font-size:15px;padding:12px;transition:all .2s ease-in-out;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#007bff;box-shadow:0 0 4px #007bff4d;outline:none}.form-textarea{height:120px;resize:none}.file-upload{display:none}.file-label{align-items:center;background:#f1f3f5;border:1.5px solid #ccc;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:700;justify-content:center;padding:12px;text-align:center;transition:.2s;width:100%}.file-label:hover{background:#e1e5ea}.selected-file{color:#007bff;font-size:14px;margin-top:5px;text-align:center}.upload-btn{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px;text-align:center;transition:.2s;width:100%}.upload-btn:hover{background-color:#0056b3}.close-button{background:none;border:none;color:#555;cursor:pointer;position:absolute;right:16px;top:16px}.close-button:hover{color:#000}.modal-overlay{background:#0006;height:100%;width:100%}.modal-content{max-width:420px}.modal-content.post-detail-modal{max-width:768px;width:100%}.modal-buttons{gap:10px;justify-content:space-between;margin-top:1.5rem}.modal-buttons .upload-btn{background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:700;padding:12px;transition:background-color .2s}.modal-buttons .upload-btn:hover{background-color:#1e40af}.modal-buttons .upload-btn:disabled{background-color:#ccc;color:#888;cursor:not-allowed}.modal-buttons .cancel-btn{background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:700;padding:12px;transition:background-color .2s}.modal-buttons .cancel-btn:hover{background-color:#b91c1c}.input-wrapper{position:relative}.input-wrapper .form-input{padding-right:40px;width:100%}.input-wrapper .toggle-visibility{background:#0000;border:none;cursor:pointer;font-size:1.1rem;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.error-message{color:red;font-size:.9rem;margin-top:.5rem;text-align:center}.datepicker-input{border:1.5px solid #ccc;transition:all .2s ease-in-out}.datepicker-input:focus{border-color:#007bff;box-shadow:0 0 4px #007bff4d;outline:none}.form-label{display:block;font-weight:700;margin-bottom:6px}@media(max-width:768px){.form-container{max-width:95%;padding:18px}.upload-btn{font-size:15px;padding:12px}}.checkbox-group{align-items:center;display:flex;gap:10px;margin-top:4px}.checkbox-group .checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px}.checkbox-group .checkbox-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.checkbox-group .checkbox-label span{color:#333;-webkit-user-select:none;user-select:none}.change-password-modal .form-input{padding-right:40px;position:relative}.change-password-modal .input-wrapper{position:relative}.change-password-modal .input-wrapper .toggle-visibility{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.change-password-modal .error-message{color:red;font-size:.9rem;margin-bottom:8px;margin-top:-5px}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.react-modal-overlay{align-items:center;background-color:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.react-modal-content{background-color:#fff;border-radius:12px;box-shadow:0 12px 36px #0000001a;display:flex;flex-direction:column;font-family:Noto Sans KR,sans-serif;font-size:1rem;max-height:90vh;max-width:700px;overflow-y:auto;padding:32px;position:relative;width:100%}.react-modal-content.ReactModal__Content--after-open{opacity:1;transform:translateY(0)}.react-modal-content.ReactModal__Content--before-close{opacity:0;transform:translateY(-10px)}.schedule-detail-modal{color:#1f2937}.schedule-detail-modal h2.modal-title{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:28px}.schedule-detail-modal section{margin-bottom:32px}.schedule-detail-modal section h4{border-bottom:1px solid #e5e7eb;color:#374151;font-size:1.125rem;font-weight:600;margin-bottom:16px;padding-bottom:6px}.schedule-detail-modal section .detail-row{align-items:flex-start;display:flex;gap:12px;line-height:1.6;margin:10px 0}.schedule-detail-modal section .detail-row .label{color:#6b7280;flex:0 0 160px;font-weight:600;text-align:right}.schedule-detail-modal section .detail-row .value{color:#111827;flex:1 1;word-break:break-word}.schedule-detail-modal hr{border:none;border-top:1px solid #f3f4f6;margin:28px 0}.schedule-detail-modal .modal-actions{display:flex;justify-content:flex-end;margin-top:16px}.schedule-detail-modal .modal-actions .btn-gray{background-color:#f3f4f6;border:none;border-radius:8px;color:#1f2937;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.schedule-detail-modal .modal-actions .btn-gray:hover{background-color:#e5e7eb}.schedule-request-wrapper .table-title{color:#222;font-size:1.2rem;font-weight:600;margin-bottom:16px}.schedule-request-wrapper .table-wrapper{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.schedule-request-wrapper .styled-table{border-collapse:collapse;width:100%}.schedule-request-wrapper .styled-table thead{background-color:#f9fafb}.schedule-request-wrapper .styled-table thead th{border-bottom:1px solid #e0e0e0;color:#444;font-size:14px;font-weight:600;padding:12px;text-align:center;white-space:nowrap}.schedule-request-wrapper .styled-table tbody td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px;text-align:center;vertical-align:middle}.schedule-request-wrapper .styled-table tbody .no-data{color:#999;font-size:14px;padding:20px;text-align:center}.schedule-request-wrapper .styled-table .status-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:500;padding:4px 10px}.schedule-request-wrapper .styled-table .status-badge.pending{background-color:#fff3cd;color:#856404}.schedule-request-wrapper .styled-table .status-badge.approved{background-color:#d4edda;color:#155724}.schedule-request-wrapper .styled-table .status-badge.rejected{background-color:#f8d7da;color:#721c24}.schedule-request-wrapper .styled-table .detail-btn{background-color:#f1f3f5;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:block;font-size:13px;margin:0 auto;padding:6px 12px}.schedule-request-wrapper .styled-table .detail-btn:hover{background-color:#e9ecef}.schedule-request-wrapper .status-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.schedule-request-wrapper .status-badge.pending{background-color:#facc15;color:#000}.schedule-request-wrapper .status-badge.approved{background-color:#4ade80;color:#fff}.schedule-request-wrapper .status-badge.rejected{background-color:#f87171;color:#fff}.schedule-request-wrapper .status-select{font-size:.85rem;margin-left:12px;max-width:200px;min-width:160px}.schedule-request-wrapper .status-select .react-select__control{border-color:#ccc;border-radius:6px;box-shadow:none;font-size:.85rem;min-height:32px;padding:0 4px}.schedule-request-wrapper .status-select .react-select__value-container{padding:2px 8px}.schedule-request-wrapper .status-select .react-select__single-value{color:#333}.schedule-request-wrapper .status-select .react-select__indicator-separator{display:none}.schedule-request-wrapper .status-select .react-select__dropdown-indicator{padding:0 8px}.schedule-request-wrapper .status-select .react-select__menu{font-size:.85rem;z-index:20}.schedule-request-wrapper .filter-bar{align-items:center;display:flex;gap:8px;margin-bottom:12px}.schedule-request-wrapper .filter-bar .filter-label{font-size:.9rem;font-weight:500}.schedule-request-wrapper .action-buttons{display:flex;gap:8px;justify-content:center}.edit-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;font-family:Segoe UI,sans-serif;left:50%;max-width:1000px;min-height:800px;padding:30px 24px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:1000}.edit-modal h3{color:#212529;font-size:1.6rem;font-weight:700;margin-bottom:24px;text-align:center}.edit-modal input,.edit-modal select,.edit-modal textarea{background-color:#f8f9fa;border:1px solid #ced4da;border-radius:8px;font-size:1rem;margin-bottom:16px;padding:12px 14px;transition:border-color .2s ease;width:100%}.edit-modal input:focus,.edit-modal select:focus,.edit-modal textarea:focus{background-color:#fff;border-color:#0d6efd;outline:none}.edit-modal input{min-height:50px}.edit-modal textarea{min-height:500px;resize:vertical}.edit-modal .file-label{color:#495057;display:block;font-size:.95rem;font-weight:500;margin-bottom:6px}.edit-modal .file-label input[type=file]{margin-top:6px}.edit-modal .datepicker-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.edit-modal .datepicker-label{color:#333;font-size:1.05rem;font-weight:600}.edit-modal .selected-file{color:#555;font-size:.9rem;margin-bottom:12px;word-break:break-all}.edit-modal .modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.edit-modal .modal-buttons button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 16px;transition:background-color .25s ease}.edit-modal .modal-buttons .btn-green{background:#28a745;color:#fff}.edit-modal .modal-buttons .btn-green:hover{background:#218838}.edit-modal .modal-buttons .btn-red{background:#ef4444;color:#fff}.edit-modal .modal-buttons .btn-red:hover{background:#b91c1c}.edit-modal .modal-buttons .btn-red:disabled{background:#fca5a5;color:#fff;cursor:not-allowed}.modal-overlay{background-color:#21252980;overflow-y:auto;padding:20px;z-index:9999}.modal-content{background:#fff;border-radius:12px;box-shadow:0 6px 16px #0003;max-width:768px;padding:24px;position:relative;width:100%}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-buttons .btn-red:disabled{cursor:not-allowed}.modal-content.reject{background:#fff;border-radius:12px;box-shadow:0 6px 16px #0003;max-width:768px;padding:24px;position:relative;width:100%}.modal-content.reject h4{color:#212529;font-size:1.25rem;font-weight:700;margin-bottom:8px}.modal-content.reject p{color:#495057;font-size:1rem;line-height:1.5;margin-bottom:16px}.schedule-tab-container{padding:1.5rem}.schedule-tab-container h2{align-items:center;display:flex;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.schedule-tab-container h2:before{margin-right:.5rem}.schedule-tab-container .tabs-wrapper{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.schedule-tab-container .tabs-header{background-color:#f9f9f9;border-bottom:1px solid #ddd;display:flex}.schedule-tab-container .tabs-header .tab-button{background:none;border:none;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease}.schedule-tab-container .tabs-header .tab-button:hover{background-color:#f0f0f0}.schedule-tab-container .tabs-header .tab-button.active{background-color:#fff;border-bottom:2px solid #3b82f6;color:#3b82f6;font-weight:600}.schedule-tab-container .tabs-content{background-color:#fff;padding:1.25rem}.color-picker-popover{background:#f9fafb;border:1px solid #e0e0e0;border-radius:18px;box-shadow:0 8px 24px #0000001f;font-family:Noto Sans KR,sans-serif;padding:20px;position:absolute;transition:all .25s ease;width:260px;z-index:9999}.color-picker-popover .react-colorful{display:flex!important;flex-direction:column!important;gap:12px;height:auto!important;width:100%!important}.color-picker-popover.custom-mode{min-height:400px;width:340px}.color-picker-popover .preset-colors{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-bottom:18px}.color-picker-popover .preset-colors .preset-color{border:1px solid #ccc;border-radius:50%;cursor:pointer;height:30px;transition:transform .2s;width:30px}.color-picker-popover .preset-colors .preset-color.selected{border:3px solid #333}.color-picker-popover .preset-colors .preset-color:hover{transform:scale(1.15)}.color-picker-popover .custom-btn{background:#f1f5f9;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;font-size:1rem;padding:10px;width:100%}.color-picker-popover .custom-btn:hover{background:#e2e8f0}.color-picker-popover .custom-picker-wrapper{display:flex;flex-direction:column;gap:14px}.color-picker-popover .custom-picker-wrapper .react-colorful__saturation{border-radius:14px!important;height:220px!important;overflow:hidden;width:100%!important}.color-picker-popover .custom-picker-wrapper .react-colorful__hue{background:linear-gradient(90deg,red,#ff0,lime,cyan,blue,#f0f,red)!important;border-radius:10px!important;height:20px!important;margin-top:14px;position:relative;width:100%!important}.color-picker-popover .custom-picker-wrapper .react-colorful__pointer{border:3px solid #fff!important;border-radius:50%!important;box-shadow:0 0 6px #00000040!important;height:24px!important;transform:translate(-50%,-50%)!important;width:24px!important}.color-picker-popover .custom-picker-wrapper .react-colorful__hue .react-colorful__pointer{background-color:currentColor!important;border:none!important;border-radius:3px!important;box-shadow:0 0 3px #0000004d!important;height:30px!important;position:absolute!important;top:50%!important;transform:translateX(-3px)!important;transform:translate(-3px,-50%)!important;width:6px!important}.color-picker-popover .custom-picker-wrapper .color-preview{align-items:center;border-radius:10px;box-shadow:inset 0 0 0 1px #0000001f;display:flex;font-size:1rem;font-weight:600;height:42px;justify-content:center;text-transform:uppercase;width:100%}.color-picker-popover .custom-color-input{border:1px solid #cbd5e1;border-radius:10px;font-family:Roboto Mono,monospace;font-size:1rem;padding:12px;width:100%}.color-picker-popover .custom-color-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d;outline:none}.color-picker-popover .color-btn-group{display:flex;gap:12px;justify-content:space-between;margin-top:10px}.color-picker-popover .color-btn-group button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 0;transition:all .2s ease}.color-picker-popover .color-btn-group .cancel-btn{background:#e5e7eb;color:#374151}.color-picker-popover .color-btn-group .cancel-btn:hover{background:#d1d5db}.color-picker-popover .color-btn-group .apply-btn{background:#007bff;color:#fff}.color-picker-popover .color-btn-group .apply-btn:hover{background:#2563eb}.color-picker-popover .color-btn-group .apply-btn:disabled{background:#cbd5e1;cursor:not-allowed}.add-schedule-popover{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;font-family:Noto Sans KR,sans-serif;font-size:14px;max-width:95%;padding:1.5rem 1.75rem;position:absolute;width:480px;z-index:2000}.add-schedule-popover .popover-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.2rem}.add-schedule-popover .popover-header h4{color:#202124;font-size:1.25rem;font-weight:600;margin:0}.add-schedule-popover .popover-header .btn-close{border-color:#cbd2cd;color:#333;min-width:50px}.add-schedule-popover .popover-header .btn-close:hover{background-color:#cbd2cd}.add-schedule-popover .title-input{border:none;border-bottom:2px solid #ddd;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding:.6rem .75rem;transition:border-color .2s;width:100%}.add-schedule-popover .title-input:focus{border-color:#4285f4;outline:none}.add-schedule-popover .row{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:1rem}.add-schedule-popover .row .icon{color:#5f6368;flex-shrink:0;margin-top:.4rem}.add-schedule-popover .row .react-datepicker-wrapper,.add-schedule-popover .row input{flex:1 1;font-size:.95rem}.add-schedule-popover .row .react-datepicker-wrapper input,.add-schedule-popover .row input input{border:1px solid #ccc;border-radius:6px;padding:.5rem .75rem;width:100%}.add-schedule-popover .row .react-datepicker-wrapper input:focus,.add-schedule-popover .row input input:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.add-schedule-popover .row span{font-size:1rem;padding-top:.5rem}.add-schedule-popover .row textarea{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:.95rem;min-height:80px;padding:.5rem .75rem;resize:vertical}.add-schedule-popover .row textarea:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.add-schedule-popover .checkbox-row{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:500;margin-bottom:1rem}.add-schedule-popover .checkbox-row label{align-items:center;cursor:pointer;display:inline-flex;gap:8px}.add-schedule-popover .checkbox-row label input[type=checkbox]{accent-color:#4285f4;cursor:pointer;height:16px;margin:0;width:16px}.add-schedule-popover .checkbox-row label span{padding-top:1px}.add-schedule-popover .btn-group{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.add-schedule-popover .btn-group button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.2rem}.add-schedule-popover .btn-group button:first-child{background:#e0e0e0;color:#333}.add-schedule-popover .btn-group button:last-child{background:#4285f4;color:#fff}.add-schedule-popover .btn-group button:last-child:hover{background:#3367d6}.add-schedule-popover .type-select{flex:1 1}.add-schedule-popover .type-select .react-select__control{border-color:#d1d5db;border-radius:6px;box-shadow:none;font-size:.9rem;min-height:34px}.add-schedule-popover .type-select .react-select__control:hover{border-color:#9ca3af}.add-schedule-popover .type-select .react-select__menu{z-index:3000}.add-schedule-popover .type-select .react-select__single-value{color:#111827}.event-popover{background:#fff;border:1px solid #ddd;border-radius:16px;box-shadow:0 20px 40px #0000002e;font-family:Noto Sans KR,sans-serif;font-size:14px;line-height:1.5;padding:20px 24px;pointer-events:auto;position:absolute;width:440px;z-index:2000}.event-popover .popover-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.event-popover .popover-header h4{color:#1f1f1f;font-size:18px;font-weight:600;margin:0}.event-popover .popover-header .btn-close{border-color:#cbd2cd;color:#333;min-width:50px}.event-popover .popover-header .btn-close:hover{background-color:#cbd2cd}.event-popover .popover-body{display:flex;flex-direction:column;gap:10px}.event-popover .popover-body .detail-row{align-items:baseline;display:flex;gap:12px}.event-popover .popover-body .detail-row .label{color:#5f6368;flex-shrink:0;font-size:13px;font-weight:500;text-align:right;width:90px}.event-popover .popover-body .detail-row .value{color:#202124;flex:1 1;font-size:14px;line-height:1.4;word-break:break-word}.event-popover .popover-footer{display:flex;justify-content:flex-end;margin-top:18px}.event-popover .popover-footer .btn-delete{background-color:#d93025;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px}.event-popover .popover-footer .btn-delete:hover{background-color:#c5221f}body.modal-open{overflow:hidden}.scroll-lock-overlay{background:#0000;inset:0;overscroll-behavior:contain;pointer-events:auto;position:fixed;touch-action:none;z-index:1999}.schedule-calendar{background:#f8f9fb;border-radius:10px;box-shadow:0 4px 12px #00000014;padding:20px}.schedule-calendar .fc-toolbar{margin-bottom:12px}.schedule-calendar .fc-toolbar .fc-toolbar-title{font-size:1.25rem;font-weight:600}.schedule-calendar .fc-toolbar .fc-button{border-radius:6px;font-size:.85rem;padding:4px 8px}.schedule-calendar .fc-daygrid-day{transition:background .2s ease-in-out}.schedule-calendar .fc-daygrid-day:hover{background:#e9ecef}.schedule-calendar .fc-day-today{background:#fff2cc!important;border-radius:6px;font-weight:700}.schedule-calendar .fc-event{border-radius:8px;font-weight:700;padding:5px 8px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.schedule-calendar .fc-event:hover{box-shadow:0 6px 12px #00000026;transform:scale(1.05)}.schedule-calendar .fc-daygrid-day-frame{display:flex;flex-direction:column;min-height:150px}.schedule-calendar .fc-daygrid-event-harness{max-height:60px;overflow:hidden}.schedule-calendar .fc-popover .fc-event{white-space:normal}.schedule-calendar .calendar-filter-panel{align-items:flex-end;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:12px 16px}.schedule-calendar .calendar-filter-panel .filter-group.general-filters{align-items:center;display:flex;gap:20px}.schedule-calendar .calendar-filter-panel .filter-group.general-filters .filter-item{align-items:center;color:#1f2937;display:flex;font-size:.95rem;font-weight:500;gap:8px}.schedule-calendar .calendar-filter-panel .filter-group.general-filters .filter-item input[type=checkbox]{accent-color:#2563eb;height:16px;width:16px}.schedule-calendar .calendar-filter-panel .filter-group.general-filters .filter-item .filter-icon{color:#4b5563;height:18px;margin-top:1px;width:18px}.schedule-calendar .calendar-filter-panel .filter-group.general-filters .filter-item:hover,.schedule-calendar .calendar-filter-panel .filter-group.general-filters .filter-item:hover .filter-icon{color:#111827}.schedule-calendar .calendar-filter-panel .instructor-filter{min-width:260px;position:relative;z-index:100}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-filter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-filter-header .filter-title{color:#374151;font-size:.875rem;font-weight:600}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-filter-header .toggle-all-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.8rem;padding:0}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-filter-header .toggle-all-btn:hover{text-decoration:underline}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-select__control{border-color:#d1d5db;border-radius:6px;box-shadow:none;font-size:.875rem;z-index:1000}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-select__control:hover{border-color:#2563eb}.schedule-calendar .calendar-filter-panel .instructor-filter .instructor-select__menu{z-index:9999}.schedule-calendar .calendar-filter-panel .instructor-filter .react-select__multi-value{align-items:center;background-color:#e0f2fe;border:1px solid #bae6fd;border-radius:9999px;display:flex;padding:4px 8px}.schedule-calendar .calendar-filter-panel .instructor-filter .react-select__multi-value__label{color:#0369a1;font-size:.85rem;font-weight:600;padding:0}.schedule-calendar .calendar-filter-panel .instructor-filter .react-select__multi-value__remove{background-color:#0000;border-radius:9999px;color:#0369a1;padding:2px}.schedule-calendar .calendar-filter-panel .instructor-filter .react-select__multi-value__remove:hover{background-color:#bae6fd}.schedule-calendar .color-button{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;min-width:40px;padding:4px;transition:background-color .2s ease}.schedule-calendar .color-button:hover{background-color:#f0f0f0}.schedule-calendar .color-button svg{color:#555;height:16px;width:16px}.admin-table{margin-top:20px}.admin-table h3{color:#333;font-size:1.4rem;margin-bottom:15px}.admin-table .table-wrapper{overflow-x:auto;width:100%}.admin-table .styled-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 4px 6px #00000014;overflow:hidden;table-layout:fixed;width:100%}.admin-table .styled-table thead{background:#007bff;color:#fff}.admin-table .styled-table thead th{border:1px solid #ccc;font-weight:600;padding:14px 12px;text-align:center;white-space:nowrap}.admin-table .styled-table tbody tr{border-bottom:1px solid #ddd;transition:background .2s}.admin-table .styled-table tbody tr:hover{background:#007bff0d}.admin-table .styled-table tbody tr td{border:1px solid #ddd;overflow:hidden;padding:14px 10px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.admin-table .styled-table tbody tr td.action-cell{align-items:center;padding:6px 0!important}.admin-table .styled-table tbody tr td.action-cell button{display:block;margin:0 auto}.admin-table .styled-table tbody tr .no-data{border:1px solid #ddd;color:#777;font-weight:700;padding:15px;text-align:center}.admin-table .btn-wrapper{align-items:center;display:inline-flex;gap:4px;justify-content:center;padding:0}.admin-table .btn-wrapper button{font-size:13px;min-width:90px}.admin-table button{align-items:center;background-color:#fff;border:2px solid #0000;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;letter-spacing:.2px;min-width:90px;padding:8px 14px}.admin-table button:hover{box-shadow:0 4px 6px #0000001f}.admin-table button.edit-btn{border-color:#f4c84a}.admin-table button.edit-btn:hover{background-color:#f4c84a33}.admin-table button.close-btn{border-color:#f56565;max-width:25px}.admin-table button.close-btn:hover{background-color:#f5656533}.admin-table button.delete-btn{border-color:#f56565}.admin-table button.delete-btn:hover{background-color:#f5656533}.admin-table button.reset-password-btn{border-color:#4a90e2}.admin-table button.reset-password-btn:hover{background-color:#4a90e233}.admin-table button.schedule-btn{border-color:#6bc6b3}.admin-table button.schedule-btn:hover{background-color:#6bc6b333}.admin-table .bulk-update{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.admin-table .bulk-update select{border:1px solid #ccc;border-radius:6px;min-width:200px;padding:6px 10px}.admin-table .bulk-update button{background-color:#007bff;border:none;border-radius:6px;color:#fff;font-weight:600;padding:8px 16px;transition:background-color .2s}.admin-table .bulk-update button:hover{background-color:#0056b3}.admin-table .bulk-update button:disabled{background-color:#ccc;cursor:not-allowed}.admin-table .selected-count{color:#333;font-size:14px;font-weight:500;margin-top:10px}.admin-table .inline-edit-row td{text-align:center}.admin-table .inline-edit-row .inline-edit-row td select,.admin-table .inline-edit-row td .datepicker-input,.admin-table .inline-edit-row td .timepicker-input,.admin-table .inline-edit-row td input,.admin-table .inline-edit-row td select{text-align:center;text-align-last:center}.admin-table .inline-edit-row .datepicker-input,.admin-table .inline-edit-row .timepicker-input,.admin-table .inline-edit-row input,.admin-table .inline-edit-row select{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:14px;height:38px;padding:6px 10px;width:100%}.admin-table .inline-edit-row .button-group{display:flex;gap:8px;justify-content:center}.admin-table .inline-edit-row .button-group button{height:38px;padding:0 12px}.admin-table .inline-edit-row .button-group .save{background-color:#38a169;border-color:#38a169;color:#fff}.admin-table .inline-edit-row .button-group .save:hover{background-color:#2f855a}.admin-table .inline-edit-row .button-group .cancel{background-color:#e53e3e;border-color:#e53e3e;color:#fff}.admin-table .inline-edit-row .button-group .cancel:hover{background-color:#c53030}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.schedule-header h3{font-size:1.2rem;font-weight:600;margin:0}.schedule-header .schedule-close-btn{align-items:center;background:#0000;border-color:#cbd2cd;color:#333;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;justify-content:center;line-height:1;padding:4px 8px}.schedule-header .schedule-close-btn:hover{background-color:#cbd2cd}.edit-student-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:10px;margin:20px auto;max-width:400px;padding:20px;width:100%}.edit-student-form h3{color:#333;font-size:1.4rem;text-align:center}.edit-student-form input{border:1px solid #ccc;border-radius:5px;font-size:16px;padding:10px;width:100%}.edit-student-form input:focus{border-color:#007bff;box-shadow:0 0 4px #007bff66;outline:none}.edit-student-form .button-group{display:flex;justify-content:space-between;margin-top:10px}.edit-student-form .button-group button{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:10px;transition:.2s}.edit-student-form .button-group button:first-child{background:#28a745;color:#fff}.edit-student-form .button-group button:first-child:hover{background:#218838}.edit-student-form .button-group button:last-child{background:#dc3545;color:#fff;margin-left:10px}.edit-student-form .button-group button:last-child:hover{background:#c82333}.student-management{padding:20px}.student-management h2{font-size:24px;margin-bottom:20px}.student-management input,.student-management select{border:1px solid #ccc;border-radius:5px;margin:10px 0;padding:10px;width:100%}.student-management .search-bar{border:1px solid #ccc;border-radius:5px;font-size:16px;max-width:400px;padding:10px;transition:.2s;width:100%}.student-management .search-bar:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.student-management .student-table{margin-top:20px}.student-management .student-edit-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.student-management .student-edit-modal .modal-content{background:#fff;border-radius:5px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center;width:400px}.student-management .student-edit-modal .modal-content button{margin-top:10px}.student-management .add-student-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:20px;max-width:500px;padding:20px}.student-management .add-student-form h3{font-size:20px;margin-bottom:15px}.student-management .add-student-form input,.student-management .add-student-form select{border:1px solid #ccc;border-radius:5px;font-size:16px;margin-bottom:10px;padding:10px;transition:.2s;width:100%}.student-management .add-student-form input:focus,.student-management .add-student-form select:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.student-management .add-student-form button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:background .2s,transform .1s;width:100%}.student-management .add-student-form button:hover{background:#218838}.student-management .add-student-form button:active{transform:scale(.98)}.add-instructor-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:20px;max-width:500px;padding:20px}.add-instructor-form h3{font-size:20px;margin-bottom:15px}.add-instructor-form input,.add-instructor-form select{border:1px solid #ccc;border-radius:5px;font-size:16px;margin-bottom:10px;padding:10px;transition:.2s;width:100%}.add-instructor-form input:focus,.add-instructor-form select:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.add-instructor-form button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:background .2s,transform .1s;width:100%}.add-instructor-form button:hover{background:#218838}.add-instructor-form button:active{transform:scale(.98)}.edit-instructor-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:10px;margin:20px auto;max-width:400px;padding:20px;width:100%}.edit-instructor-form h3{color:#333;font-size:1.4rem;text-align:center}.edit-instructor-form input{border:1px solid #ccc;border-radius:5px;font-size:16px;padding:10px;width:100%}.edit-instructor-form input:focus{border-color:#007bff;box-shadow:0 0 4px #007bff66;outline:none}.edit-instructor-form .button-group{display:flex;justify-content:space-between;margin-top:10px}.edit-instructor-form .button-group button{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:10px;transition:.2s}.edit-instructor-form .button-group button:first-child{background:#28a745;color:#fff}.edit-instructor-form .button-group button:first-child:hover{background:#218838}.edit-instructor-form .button-group button:last-child{background:#dc3545;color:#fff;margin-left:10px}.edit-instructor-form .button-group button:last-child:hover{background:#c82333}.instructor-management{padding:20px}.instructor-management h2{font-size:22px;margin-bottom:15px}.instructor-management .search-bar{border:1px solid #ccc;border-radius:5px;font-size:16px;max-width:400px;padding:10px;transition:.2s;width:100%}.instructor-management .search-bar:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.instructor-management .instructor-list{border-collapse:collapse;box-shadow:0 2px 5px #0000001a;margin-top:20px;width:100%}.instructor-management .instructor-list td,.instructor-management .instructor-list th{border:1px solid #ddd;padding:10px;text-align:left}.instructor-management .instructor-list th{background-color:#f8f9fa}.instructor-management .instructor-list tbody tr:hover{background-color:#f1f1f1}.instructor-management .button-group{display:flex;gap:10px;margin-top:15px}.instructor-management .button-group button{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:10px 15px;transition:background .2s,transform .1s}.instructor-management .button-group button:active{transform:scale(.95)}.instructor-management .button-group button.add{background:#28a745;color:#fff}.instructor-management .button-group button.add:hover{background:#218838}.instructor-management .button-group button.edit{background:#007bff;color:#fff}.instructor-management .button-group button.edit:hover{background:#0056b3}.instructor-management .button-group button.delete{background:#dc3545;color:#fff}.instructor-management .button-group button.delete:hover{background:#c82333}.instructor-management .instructor-edit-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.instructor-management .instructor-edit-modal .modal-content{background:#fff;border-radius:5px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center;width:400px}.instructor-management .instructor-edit-modal .modal-content button{margin-top:10px}.add-course-form{align-items:center;background:#fff;border-radius:10px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;gap:12px;padding:20px;text-align:center;width:100%}.add-course-form h3{font-size:1.6rem;font-weight:700;margin-bottom:10px}.add-course-form .datepicker-input,.add-course-form .timepicker-input,.add-course-form input,.add-course-form select,.add-course-form textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:15px;padding:12px;width:90%}.add-course-form textarea{height:80px;resize:vertical}.add-course-form .week-day-time{display:flex;gap:8px;justify-content:space-between;width:90%}.add-course-form .week-day-time .timepicker-input,.add-course-form .week-day-time select{flex:1 1 30%;min-width:90px}.add-course-form .week-day-time .timepicker-input{font-size:15px;padding:10px 12px}.add-course-form .week-day-time button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:14px;font-weight:700;padding:10px 14px;white-space:nowrap}.add-course-form .week-day-time button:hover{background:#218838}.add-course-form .button-group{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:20px;max-width:500px;width:100%}.add-course-form .button-group button{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:700;gap:6px;height:50px;justify-content:center;line-height:1;max-width:200px;padding:12px}.add-course-form .button-group .register-btn{background:#007bff;border:none;color:#fff}.add-course-form .button-group .register-btn:hover{background:#0056b3}.add-course-form .button-group .close-btn{background:#dc3545;border:none;color:#fff}.add-course-form .button-group .close-btn:hover{background:#b52b37}.add-course-form .button-group .close-btn svg,.add-course-form .button-group .register-btn svg{font-size:18px;vertical-align:middle}.weekday-time-list{list-style:none;margin-top:10px;padding-left:0;width:90%}.weekday-time-list .weekday-time-item{align-items:center;background:#f1f3f5;border-radius:5px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:5px;padding:8px 12px}.weekday-time-list .weekday-time-item .delete-btn{background:#0000;border:none;color:#dc3545;cursor:pointer;font-size:16px}.date-range-group-wrapper{text-align:left;width:90%}.date-range-group-wrapper .date-range-label{color:#333;display:inline-block;font-size:14px;font-weight:600;margin-bottom:6px}.date-range-group-wrapper .date-range-group{display:flex;gap:10px}.date-range-group-wrapper .date-range-group .input-picker{flex:1 1}.input-picker{-webkit-appearance:none;appearance:none;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#212529;font-family:inherit;font-size:15px;padding:12px;width:100%}.input-picker:focus{border-color:#007bff;box-shadow:0 0 0 .15rem #007bff40;outline:none}.react-datepicker{font-size:15px}.react-datepicker__time-list{font-size:15px;max-height:200px}.react-datepicker__header{font-size:15px}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{line-height:2.5rem;width:2.5rem}.student-course-list{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-top:20px;padding:20px}.student-course-list h3,.student-course-list h4{color:#333;margin-bottom:10px}.student-course-list select{background:#f9f9f9;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-size:1rem;margin-bottom:10px;padding:10px;transition:.2s;width:100%}.student-course-list select:hover{background:#f1f1f1}.student-course-list .register-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:700;margin-bottom:15px;padding:10px;transition:.2s;width:100%}.student-course-list .register-btn:hover{background-color:#0056b3}.student-course-list .register-btn:disabled{background:#ccc;cursor:not-allowed}.student-course-list .course-list{list-style:none;margin-top:15px;padding:0}.student-course-list .course-list li{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:10px;transition:background .2s}.student-course-list .course-list li:hover{background:#f8f9fa}.student-course-list .unregister-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px;transition:.2s}.student-course-list .unregister-btn:hover{background-color:#c82333}.course-management{background:#f8f9fa;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px}.course-management .add-course-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:16px;margin:15px 0;padding:10px;transition:.2s;width:100%}.course-management .add-course-btn:hover{background-color:#0056b3}.course-management .modal{align-items:center;background:#0006;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.course-management .modal .modal-content{max-width:1400px}.course-management .modal .add-course-modal-content,.course-management .modal .modal-content{background:#fff;border-radius:12px;box-shadow:0 6px 15px #0003;padding:25px;text-align:center;width:90%}.course-management .modal .add-course-modal-content{max-width:800px}.course-management .close-btn{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:16px;padding:10px;transition:.2s;width:100%}.course-management .close-btn:hover{background-color:#c82333}.course-management .add-course-form{display:flex;flex-direction:column;gap:10px}.course-management .add-course-form input,.course-management .add-course-form select,.course-management .add-course-form textarea{border:1px solid #ccc;border-radius:5px;padding:10px;width:100%}.course-management .submit-btn{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:.2s}.course-management .submit-btn:hover{background-color:#218838}.edit-classroom-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:10px;margin:20px auto;max-width:400px;padding:20px;width:100%}.edit-classroom-form h3{color:#333;font-size:1.4rem;text-align:center}.edit-classroom-form input{border:1px solid #ccc;border-radius:5px;font-size:16px;padding:10px;width:100%}.edit-classroom-form input:focus{border-color:#007bff;box-shadow:0 0 4px #007bff66;outline:none}.edit-classroom-form .button-group{display:flex;justify-content:space-between;margin-top:10px}.edit-classroom-form .button-group button{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:10px;transition:.2s}.edit-classroom-form .button-group button:first-child{background:#28a745;color:#fff}.edit-classroom-form .button-group button:first-child:hover{background:#218838}.edit-classroom-form .button-group button:last-child{background:#dc3545;color:#fff;margin-left:10px}.edit-classroom-form .button-group button:last-child:hover{background:#c82333}.classroom-management{padding:20px}.classroom-management h2{font-size:24px;margin-bottom:20px}.classroom-management .form-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:20px;max-width:500px;padding:20px}.classroom-management .form-container input{border:1px solid #ccc;border-radius:5px;font-size:16px;margin-bottom:10px;padding:10px;transition:.2s;width:100%}.classroom-management .form-container input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.classroom-management .form-container button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:background .2s,transform .1s;width:100%}.classroom-management .form-container button:hover{background:#0056b3}.classroom-management .form-container button:active{transform:scale(.98)}.classroom-management .form-container button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.classroom-management .classroom-edit-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.classroom-management .classroom-edit-modal .modal-content{background:#fff;border-radius:5px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center;width:400px}.classroom-management .classroom-edit-modal .modal-content button{margin-top:10px}.announcement-card{background:#fff;border:2px solid #007bff33;border-radius:14px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:24px;position:relative;transition:all .3s ease-in-out;width:100%}.announcement-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-2px)}.announcement-card h4{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-card p{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.announcement-card .date{color:#777;font-size:.9rem;margin-bottom:6px}.announcement-card .btn-gray{align-self:flex-start;margin-bottom:10px}.announcement-card .announcement-actions{display:flex;gap:10px;justify-content:space-between;margin-top:auto}.announcement-card .announcement-actions button{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:.2s}.post-list-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));padding:10px}.empty-message{color:#999;font-size:1rem;margin-top:40px;text-align:center}.comment-list{gap:24px}.comment-block,.comment-list{display:flex;flex-direction:column}.comment-block{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:10px;gap:10px;padding:16px}.comment-item{display:flex;flex-direction:column;gap:6px;position:relative}.comment-item:hover .comment-actions{opacity:1;pointer-events:auto}.comment-item.reply{background-color:#e5e7eb;border-left:4px solid #94a3b8;border-radius:8px;margin-left:24px;margin-top:12px;padding:12px}.comment-item.reply .comment-content{color:#1f2937}.comment-item.reply .comment-meta{color:#6b7280}.comment-item .comment-meta{align-items:center;color:#6b7280;display:flex;font-size:.82rem}.comment-item .comment-meta .author{color:#111827;font-weight:500;margin-right:8px}.comment-item .comment-meta .edited{color:#9ca3af;font-size:.75rem}.comment-item .comment-meta .date{color:#9ca3af;font-size:.75rem;margin-left:auto}.comment-item .comment-content{color:#1f2937;font-size:.96rem;line-height:1.6;white-space:pre-wrap}.comment-item .comment-actions{display:flex;gap:8px;opacity:0;pointer-events:none;transition:opacity .2s ease}@media(max-width:768px){.comment-item .comment-actions{opacity:1;pointer-events:auto}}.comment-item .comment-actions .pill-btn{background-color:#f1f5f9;border:none;border-radius:9999px;color:#2563eb;cursor:pointer;font-size:.8rem;padding:4px 10px;transition:background .2s}.comment-item .comment-actions .pill-btn:hover{background-color:#e0e7ff}.comment-item .comment-actions .pill-btn.delete{color:#ef4444}.comment-item .comment-actions .pill-btn.delete:hover{background-color:#fee2e2}.comment-input-wrapper{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:16px}.comment-input-wrapper textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;min-height:60px;padding:10px 12px;resize:vertical;width:100%}.comment-input-wrapper .submit-btn{background-color:#2563eb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:8px;padding:6px 12px}.comment-input-wrapper .submit-btn:hover{background-color:#1d4ed8}.reply-mode-indicator{align-items:center;color:#4b5563;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:8px}.reply-mode-indicator .cancel-reply-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-weight:500}.reply-mode-indicator .cancel-reply-btn:hover{text-decoration:underline}.empty-comment{color:#9ca3af;font-size:.95rem;padding:16px;text-align:center}button{align-items:center;background-color:#fff;border:2px solid #0000;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;letter-spacing:.2px;min-width:100px;padding:10px 16px;transition:all .2s}button:hover{box-shadow:0 4px 6px #0000001f}button.btn-green{border-color:#28a745;color:#333}button.btn-green:hover{background-color:#d4eddc}button.btn-red{border-color:#dc3545;color:#333}button.btn-red:hover{background-color:#f8d7da}button.btn-blue{border-color:#007bff;color:#333}button.btn-blue:hover{background-color:#d5e8ff}button.btn-yellow{border-color:#ffc107;color:#333}button.btn-yellow:hover{background-color:#ffeaa7}button.btn-gray{border-color:#cbd2cd;color:#333}button.btn-gray:hover{background-color:#cbd2cd}.post-detail-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;gap:24px;margin:0 auto;max-height:80vh;max-width:700px;overflow-y:auto;padding:24px;position:relative}.modal-close-btn{all:unset;align-items:center;background:#0000;border:none;color:#4b5563;cursor:pointer;display:flex;justify-content:center;padding:6px;position:absolute;right:16px;top:16px;transition:background .2s ease}.modal-close-btn:hover{background-color:#f1f5f9;color:#1f2937}.modal-close-btn svg{stroke-width:2}.post-detail-header{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px;padding-bottom:12px}.post-detail-title-row{align-items:center;display:flex;justify-content:space-between}.post-detail-title,.post-detail-title-row .post-detail-title{color:#2b6cb0;font-size:1.5rem;font-weight:700;margin:0}.post-meta-row{align-items:flex-start;display:flex;justify-content:space-between}.post-meta{color:#4a5568;font-size:.9rem}.post-meta .edited-tag{color:#999;font-size:.8rem;margin-left:6px}.post-date{align-items:center;color:#a0aec0;display:flex;font-size:.8rem}.post-date svg{margin-right:4px}.post-content{color:#2d3748;font-size:1rem;line-height:1.6;padding:8px 0;white-space:pre-wrap}.post-file{margin-top:8px}.post-file a{background-color:#edf2f7;border-radius:6px;color:#2b6cb0;font-size:.9rem;font-weight:500;padding:6px 12px;text-decoration:none}.divider,.post-file a:hover{background-color:#e2e8f0}.divider{height:1px;margin:24px 0 12px}.comment-section .comment-title{color:#2d3748;font-size:1.1rem;font-weight:600;margin-bottom:8px}.file-download-row{align-items:center;background-color:#f5f6fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin-top:16px;padding:12px 16px;transition:background-color .2s ease-in-out}.file-download-row:hover{background-color:#e9ecef}.file-download-row .file-icon{color:#666;font-size:16px}.file-download-row .file-name{color:#333;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-download-row .file-download-icon{color:#28a745}.post-meta{align-items:center;display:flex;justify-content:space-between}.post-meta .post-actions{display:flex;gap:8px}.post-meta .post-actions .delete-btn,.post-meta .post-actions .edit-btn{background:none;border:none;color:#36f;cursor:pointer;font-size:.9rem}.post-meta .post-actions .delete-btn:hover,.post-meta .post-actions .edit-btn:hover{text-decoration:underline}.post-meta .post-actions .delete-btn{color:#ff4d4f}.post-more-wrapper{display:inline-block;position:relative}.post-more-wrapper .more-button{background:#0000;border:none;border-radius:6px;cursor:pointer;padding:4px}.post-more-wrapper .more-button:hover{background-color:#f0f0f0}.post-more-wrapper .more-menu{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:100px;position:absolute;right:0;top:30px;z-index:999}.post-more-wrapper .more-menu button{background:none;border:none;cursor:pointer;font-size:.9rem;padding:10px;text-align:left;width:100%}.post-more-wrapper .more-menu button:hover{background-color:#f5f5f5}.post-more-wrapper .more-menu button:last-child{color:#ff4d4f}.post-author-info{display:flex;flex-direction:column;gap:4px}.post-author-info .post-author{color:#4a5568;font-size:.9rem}.post-author-info .edited-tag{color:#999;font-size:.8rem;margin-left:4px}.post-author-info .post-date{align-items:center;color:#a0aec0;display:flex;font-size:.8rem}.post-author-info .post-date svg{margin-right:4px}.post-edit-modal{align-items:center;background:#0006;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.post-edit-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;gap:12px;height:85%;max-width:768px;padding:20px;width:90%}.post-edit-modal-content h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 4px}.post-edit-modal-content input,.post-edit-modal-content textarea{background-color:#f8f9fa;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;padding:10px 12px;width:100%}.post-edit-modal-content input:focus,.post-edit-modal-content textarea:focus{background-color:#fff;border-color:#0d6efd;outline:none}.post-edit-modal-content input{min-height:42px}.post-edit-modal-content textarea{flex-grow:1;min-height:200px;resize:vertical}.post-edit-modal-content .file-upload-section{display:flex;flex-direction:column;gap:4px}.post-edit-modal-content .file-upload-section .file-label{background:#edf2f7;border:1px solid #cbd5e0;border-radius:5px;color:#4a5568;cursor:pointer;font-size:.88rem;min-height:42px;padding:6px 10px;transition:background .2s}.post-edit-modal-content .file-upload-section .file-label:hover{background:#e2e8f0}.post-edit-modal-content .file-upload-section .file-upload{display:none}.post-edit-modal-content .file-upload-section .selected-file{color:#4a5568;font-size:.85rem;margin-top:2px}.post-edit-modal-content .edit-modal-actions{display:flex;gap:8px;justify-content:flex-end}.post-edit-modal-content .edit-modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:8px 16px;transition:background .2s ease}.post-edit-modal-content .edit-modal-actions button:first-child{background-color:#3182ce;color:#fff}.post-edit-modal-content .edit-modal-actions button:last-child{background-color:#ef4444;color:#fff}.post-edit-modal-content .edit-modal-actions button:hover{opacity:.9}.communication-tab-container{padding:1.5rem}.communication-tab-container h2{align-items:center;display:flex;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.communication-tab-container h2:before{margin-right:.5rem}.communication-tab-container .tabs-wrapper{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.communication-tab-container .tabs-header{background-color:#f9f9f9;border-bottom:1px solid #ddd;display:flex}.communication-tab-container .tabs-header .tab-button{background:none;border:none;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease}.communication-tab-container .tabs-header .tab-button:hover{background-color:#f0f0f0}.communication-tab-container .tabs-header .tab-button.active{background-color:#fff;border-bottom:2px solid #3b82f6;color:#3b82f6;font-weight:600}.communication-tab-container .tabs-content{background-color:#fff;padding:1.25rem}.community-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.community-header .section-title{color:#1f2937;font-size:1.1rem;font-weight:600}.community-header .write-post-btn{align-items:center;background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;padding:8px 16px}.community-header .write-post-btn:hover{background-color:#1d4ed8}.community-header .write-post-btn svg{margin-right:6px}.course-qna-toolbar{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.course-qna-toolbar .write-post-btn{align-items:center;background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;padding:8px 16px}.course-qna-toolbar .write-post-btn:hover{background-color:#1d4ed8}.course-qna-toolbar .write-post-btn svg{margin-right:6px}.course-qna-toolbar__left{display:flex;flex-direction:column;gap:6px}.course-qna-toolbar__left .form-label{color:#374151;font-size:.95rem;font-weight:500}.course-qna-toolbar__left .form-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;min-width:260px;padding:8px 12px}.section-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:16px 0 12px}.attendance-management{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin:40px auto;max-width:1200px;padding:32px}.attendance-management h3{color:#1f2937;font-size:1.75rem;font-weight:700;margin-bottom:24px;text-align:center}.attendance-management label{color:#374151;display:block;font-weight:600;margin-bottom:10px}.attendance-management select{border:1px solid #d1d5db;border-radius:6px;font-size:15px;padding:10px 14px;width:100%}.attendance-management select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f64d}.attendance-management table{border-collapse:collapse;font-size:15px;margin-top:24px;width:100%}.attendance-management table td,.attendance-management table th{border:1px solid #e5e7eb;padding:12px;text-align:center;vertical-align:middle}.attendance-management table th{background:#f3f4f6;color:#111827;font-weight:600;position:sticky;top:0;z-index:1}.attendance-management table tr.present{background:#e0fce4}.attendance-management table tr.absent{background:#ffe4e6}.attendance-management table select,.attendance-management table textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:6px 10px;width:100%}.attendance-management table select:focus,.attendance-management table textarea:focus{border-color:#3b82f6;outline:none}.attendance-management table .form-textarea{min-height:60px;resize:vertical}.attendance-management table button{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 14px;transition:background .2s}.attendance-management table button svg{margin-right:4px}.attendance-management table .update-btn{border-color:#28a745;color:#333}.attendance-management table .update-btn:hover{background-color:#d4eddc}.attendance-management table .delete-btn{border-color:#dc3545;color:#333}.attendance-management table .delete-btn:hover{background-color:#f8d7da}.attendance-management table .edit-btn{border-color:#ffc107;color:#333}.attendance-management table .edit-btn:hover{background-color:#ffeaa7}.attendance-management table .register-btn{border-color:#28a745;color:#333}.attendance-management table .register-btn:hover{background-color:#d4eddc}.attendance-management table .cancel-btn{border-color:#dc3545;color:#333}.attendance-management table .cancel-btn:hover{background-color:#f8d7da}.attendance-management table .button-wrapper{align-items:center;display:flex;gap:8px;justify-content:center}.attendance-management table .button-wrapper button{min-width:90px;padding:8px 14px;text-align:center}.attendance-management .bulk-register{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-top:32px;padding:16px}.attendance-management .bulk-register select{flex:1 1;padding:10px}.attendance-management .bulk-register .bulk-register-btn{background:#10b981;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;padding:12px 20px;transition:.2s}.attendance-management .bulk-register .bulk-register-btn:hover{background:#059669}.form-container{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 3px 10px #0000001f;margin:0 auto 50px;padding:28px;width:100%}.form-container .action-buttons{display:flex;gap:14px;justify-content:space-between;margin-top:20px}.materials-box{background:#f8f9fa;border:2px solid #d1d1d1;border-radius:12px;box-shadow:0 4px 10px #0000001a;margin-top:25px;padding:30px;width:100%}.materials-box h3{color:#333;font-size:1.6rem;font-weight:700;margin-bottom:25px;text-align:left}.material-card .description{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.material-card .file-name{color:#444;display:inline-block;font-size:.95rem;font-weight:500;margin-bottom:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-card .file-name:hover{background:#f3f4f6;border-radius:4px;padding:4px;white-space:normal}.material-card .created-at{color:#777;font-size:.9rem;margin-bottom:14px}.material-card .action-buttons{display:flex;gap:10px;justify-content:space-between;margin-top:auto}.material-card .action-buttons button{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:.2s}@media(max-width:768px){.materials-container{flex-direction:column}.material-card{width:100%}}.detail-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.detail-modal-container{animation:modalFadeIn .25s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 20px #0000001a;max-width:800px;padding:24px;width:90%}.detail-modal-container.notice{border-left:5px solid #007bff}.detail-modal-container.assignment{border-left:5px solid #28a745}.detail-modal-container.material{border-left:5px solid #6f42c1}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-header h2{color:#1f2937;font-size:1.4rem;font-weight:700}.modal-header .close-btn{background:#0000;border:none;color:#666;cursor:pointer}.modal-body .content{color:#333;font-size:1rem;line-height:1.6;margin-bottom:16px;white-space:pre-wrap}.modal-body .date{color:#999;font-size:.875rem;margin-bottom:12px}.modal-body .file-section h4{font-size:1rem;font-weight:600;margin-bottom:6px}.modal-body .file-section ul{padding-left:20px}.modal-body .file-section ul li{font-size:.95rem;line-height:1.4}.modal-body .file-section ul li a{color:#007bff;text-decoration:underline}.modal-body .file-section ul li a:hover{text-decoration:none}.modal-body .file-section .file-download-row{align-items:center;background-color:#f5f6fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin-top:16px;padding:12px 16px;transition:background-color .2s ease-in-out}.modal-body .file-section .file-download-row:hover{background-color:#e9ecef}.modal-body .file-section .file-download-row .file-icon{color:#666;font-size:16px}.modal-body .file-section .file-download-row .file-name{color:#333;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body .file-section .file-download-row .file-download-icon{color:#28a745}.evaluation-modal{animation:fadeIn .3s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 5px 12px #00000026;left:50%;max-width:90%;padding:30px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:420px;z-index:1000}.evaluation-modal h3{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:18px}.evaluation-type{color:#007bff;font-weight:700;margin-left:5px}.evaluation-modal input,.evaluation-modal select,.evaluation-modal textarea{background:#f8f9fa;border:1px solid #ccc;border-radius:8px;font-size:15px;margin-top:12px;padding:12px;transition:all .2s ease-in-out;width:100%}.evaluation-modal input:focus,.evaluation-modal select:focus,.evaluation-modal textarea:focus{border-color:#007bff;box-shadow:0 0 6px #007bff4d;outline:none}.evaluation-modal textarea{height:100px;resize:none}.evaluation-modal .pass-fail-buttons{display:flex;gap:15px;justify-content:center;margin-top:15px}.evaluation-modal .pass-fail-buttons button.selected-green{background-color:#d4eddc!important;box-shadow:0 0 0 2px #28a74533;color:#1e4620;font-weight:700}.evaluation-modal .pass-fail-buttons button.selected-red{background-color:#f8d7da!important;box-shadow:0 0 0 2px #dc354533;color:#842029;font-weight:700}.fail-btn,.pass-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;padding:12px 20px;transition:all .2s}.evaluation-modal .modal-buttons{display:flex;justify-content:space-between;margin-top:20px}.evaluation-modal button{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;padding:12px 16px;transition:all .2s}@media(max-width:500px){.evaluation-modal{padding:25px;width:90%}.evaluation-modal .modal-buttons{flex-direction:column;gap:12px}}.submissions-container{background:#fff;border-radius:12px;box-shadow:0 4px 10px #00000014;margin:20px auto;padding:25px;width:100%}.submissions-container h3,.submissions-container h4{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:15px}.assignment-container{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;margin-bottom:20px;padding:15px 20px;width:100%}.assignment-header{align-items:center;display:flex;gap:15px;margin-bottom:10px}.assignment-list{gap:12px;padding:10px 15px}.assignment-btn{background:#fff;border:2px solid #007bff;border-radius:10px;box-shadow:0 2px 4px #0000001a;color:#007bff;cursor:pointer;font-size:15px;font-weight:600;min-width:140px;padding:14px 18px;text-align:center;transition:all .3s ease-in-out}.assignment-btn.active,.assignment-btn:hover{background:#007bff;color:#fff}.assignment-btn.active{box-shadow:0 4px 8px #007bff4d;font-weight:700;transform:scale(1.05)}.tab-container{background:#f1f3f5;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin-bottom:20px;padding:15px 20px;width:100%}.tab-buttons{gap:12px;justify-content:center;padding:10px 0}.tab-buttons button{border:2px solid #28a745;border-radius:8px;color:#28a745;font-size:16px;min-width:140px;padding:12px 18px;text-align:center;transition:.3s ease-in-out}.tab-buttons button:hover{background:#28a745}.tab-buttons button.active{background:#28a745;box-shadow:0 4px 8px #28a7454d;font-weight:700;transform:scale(1.05)}.submission-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));justify-content:center;max-width:1200px;padding:0 20px;width:100%}.submission-card{background:#fff;border:2px solid #007bff33;border-radius:14px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:24px;position:relative;transition:all .3s ease-in-out;width:100%}.submission-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-3px)}.submission-card h4{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-card p{color:#333;font-size:1.05rem;line-height:1.6;margin-bottom:10px}.submission-card p strong{color:#222;font-weight:700}.submission-card .submitted-answer{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.submission-card.graded{background:#f1fbf3;border:2px solid #28a745;box-shadow:0 3px 8px #28a74533}.submission-card .button-group{display:flex;justify-content:space-between;margin-top:16px}.submission-card .btn-green,.submission-card .btn-yellow{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:6px;justify-content:center;padding:10px 16px;transition:.2s ease;width:100%}@media(max-width:768px){.assignment-header{align-items:center;flex-direction:column;text-align:center}.assignment-list{justify-content:center}.submission-list{grid-template-columns:1fr}.tab-buttons{align-items:center;flex-direction:column}.button-group{flex-direction:column;gap:8px}.delete-btn,.download-btn,.evaluate-btn{min-width:100%}}.course-assignments-container{background:#fff;border-radius:16px;box-shadow:0 6px 14px #0000001f;margin:40px auto;padding:40px;width:100%}.course-assignments-container h3,.course-assignments-container h4{color:#222;font-size:2rem;font-weight:700;margin-bottom:26px}.course-assignments-container .action-buttons{display:flex;gap:16px;justify-content:center;margin-top:22px}.course-assignments-container .action-buttons button{border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:700;padding:14px 18px;transition:.2s}.tab-buttons{display:flex;gap:16px;justify-content:left;margin-bottom:28px}.tab-buttons button{background:#fff;border:2px solid #007bff;border-radius:12px;color:#007bff;cursor:pointer;font-size:17px;font-weight:700;padding:14px 24px;transition:all .3s ease-in-out}.tab-buttons button.active,.tab-buttons button:hover{background:#007bff;color:#fff}.tab-buttons button.active{box-shadow:0 5px 10px #007bff4d}.filter-buttons{display:flex;gap:16px;justify-content:flex-start;margin-bottom:30px}.filter-buttons button{background:#fff;border:2px solid #007bff;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;padding:12px 22px;transition:.2s}.filter-buttons button.active,.filter-buttons button:hover{background:#007bff;color:#fff}.form-container{background:#f8f9fa;border-radius:14px;box-shadow:0 5px 10px #0000001a;margin-bottom:40px;padding:32px}.assignment-list{display:flex;flex-wrap:wrap;gap:32px;justify-content:flex-start}.assignment-card{border:2px solid #28a74533;border-radius:16px;box-shadow:0 6px 14px #0000001a;display:flex;flex-direction:column;justify-content:space-between;padding:30px;position:relative;transition:.3s ease;width:380px}.assignment-card:hover{box-shadow:0 8px 16px #00000026}.assignment-card h4{color:#007bff}.assignment-card p{color:#333;line-height:1.6}.assignment-card .file-name{color:#222;font-size:1rem;font-weight:500;margin-top:10px;word-break:break-word}.assignment-card .due-date{color:#dc3545;font-size:1.05rem;margin-top:12px}.assignment-card .action-buttons{display:flex;gap:14px;justify-content:center;margin-top:20px}.assignment-card .action-buttons button{align-items:center;background-color:#fff;border:2px solid #0000;border-radius:10px;box-shadow:0 3px 6px #00000014;color:#333;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:6px;letter-spacing:.2px;min-width:110px;padding:12px 18px;transition:.2s ease}.assignment-card .action-buttons button:hover{box-shadow:0 5px 10px #00000026;transform:translateY(-1px)}.assignment-card .action-buttons button.download-btn{border:2px solid #28a745;color:#28a745}.assignment-card .action-buttons button.download-btn:hover{background-color:#eaf8ef}.assignment-card .action-buttons button.delete-btn{border:2px solid #f56565;color:#f56565}.assignment-card .action-buttons button.delete-btn:hover{background-color:#fef0f0}.assignment-card.expired{background:#f9d6d6;border-left:6px solid #dc3545}.assignment-card.expired .due-date,.assignment-card.expired h4{color:#b00020}@media(max-width:768px){.assignment-list{flex-direction:column}.assignment-card{width:100%}.filter-buttons{align-items:center;flex-direction:column}}.course-announcements-container h3,.course-announcements-container h4{color:#333;font-size:1.6rem;font-weight:700;margin-bottom:18px}.course-announcements-container .announcement-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:0 auto;max-width:1800px;padding:16px}.course-announcements-container .announcement-card{background:#fff;border:2px solid #007bff33;border-radius:14px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:24px;position:relative;transition:all .3s ease-in-out;width:100%}.course-announcements-container .announcement-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-2px)}.course-announcements-container .announcement-card h4{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-announcements-container .announcement-card p{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.course-announcements-container .announcement-card .date{color:#777;font-size:.9rem;margin-bottom:6px}.course-announcements-container .announcement-card .btn-gray{align-self:flex-start;margin-bottom:10px}.course-announcements-container .announcement-card .announcement-actions{display:flex;gap:10px;justify-content:space-between;margin-top:auto}.course-announcements-container .announcement-card .announcement-actions button{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:.2s}@media(max-width:768px){.announcement-list{align-items:center;flex-direction:column}.announcement-card{width:100%}.announcement-actions{flex-direction:column;gap:10px}.delete-btn,.download-btn{width:100%}}.instructor-courses{padding:20px}.instructor-courses h2{color:#333;font-size:1.8rem;margin-bottom:15px}.instructor-courses .courses-container{display:flex;flex-wrap:wrap;gap:20px}.instructor-courses .course-card{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:24px;transition:transform .2s,box-shadow .2s;width:450px}.instructor-courses .course-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-4px)}.instructor-courses .course-card h3{color:#222;font-size:1.6rem;font-weight:700;margin-bottom:8px}.instructor-courses .course-card p{color:#555;font-size:1rem;line-height:1.5;margin-bottom:18px}.instructor-courses .course-card.active{background:#f0f8ff;border:3px solid #007bff}.instructor-courses .course-card .course-meta{color:#555;font-size:.875rem;margin-top:8px}.instructor-courses .course-card .course-meta span{display:block;margin-top:2px}.instructor-courses .course-tabs{display:flex;gap:10px;justify-content:space-between;margin-top:12px}.instructor-courses .course-tabs button{align-items:center;background:#f8f9fa;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;flex:1 1 22%;flex-direction:column;font-size:.95rem;font-weight:600;gap:4px;height:64px;justify-content:center;max-width:140px;min-width:90px;padding:10px;text-align:center}.instructor-courses .course-tabs button .icon{font-size:1.2rem;line-height:1}.instructor-courses .course-tabs button .label{font-size:.85rem;white-space:nowrap}.instructor-courses .course-tabs button.active{background:#007bff;color:#fff;transform:scale(1.05)}.instructor-courses .course-tabs button:hover{background:#0056b3;color:#fff;transform:scale(1.05)}.instructor-courses .course-content{background:#fff;border-radius:12px;box-shadow:0 4px 10px #0000001a;margin-top:25px;padding:24px}.instructor-courses .no-courses{color:#888;font-size:1.3rem;font-weight:500;text-align:center}.counseling-availability{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin:32px auto;padding:24px;width:100%}h3{color:#333;font-size:1.5rem}.availability-form{grid-gap:12px;align-items:center;background:#f8f9fa;border-radius:10px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;padding:24px}.datepicker-input{width:100%}.availability-form input,.datepicker-input{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:15px;padding:12px}.availability-form input{flex:1 1}.availability-table{border-collapse:collapse;font-size:15px;margin-top:16px;width:100%}.availability-table td,.availability-table th{border:1px solid #ccc;padding:14px;text-align:center;vertical-align:middle}.availability-table th{background:#007bff;color:#fff;font-size:15px;font-weight:600}.availability-table tbody tr:nth-child(2n){background:#f8f9fa}.availability-table tbody tr:hover{background:#e9ecef}.confirmed{background:#e6f4ea;color:#28a745;font-weight:700}.confirmed,.pending{border-radius:20px;padding:4px 10px}.pending{background:#fff8e1;color:#000}.availability-table td:last-child{text-align:center}.availability-table td:last-child button{align-items:center;display:flex;font-size:14px;gap:6px;justify-content:center;margin:0 auto;min-width:fit-content;padding:8px 14px}.action-buttons{align-items:center;display:flex;gap:10px;justify-content:center;min-height:48px}.approve-btn,.reject-btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:8px 12px;transition:.2s}.approve-btn{background:#28a745;color:#fff}.approve-btn:hover{background:#218838}.reject-btn{background:#dc3545;color:#fff}.reject-btn:hover{background:#b52b37}.no-actions{color:#999;font-size:16px;line-height:1}.modal-overlay.request-list{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-overlay.request-list .modal{animation:fadeIn .3s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px 25px 20px;position:relative;text-align:center;width:60%}.modal-overlay.request-list .modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;padding:15px 8px;position:relative}.modal-overlay.request-list .modal .modal-header h3{font-size:1.5rem;font-weight:600;margin:0}.modal-overlay.request-list .modal .modal-header .modal-close-btn{background:#0000;border:none;color:#333;cursor:pointer;font-size:1.5rem;font-weight:700;position:absolute;top:.5px}.modal-overlay.request-list .modal .modal-header .modal-close-btn:hover{background-color:#f3f4f6}.modal-overlay.request-list .modal .modal-footer{display:flex;justify-content:center;margin-top:20px}.modal-overlay.request-list .modal .modal table{font-size:16px;width:100%}@media(max-width:768px){.modal{min-height:auto;padding:25px 15px;width:90%}.modal table{font-size:14px}}.counseling-sessions{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:20px auto;padding:20px;width:100%}.counseling-sessions h3{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:15px}.counseling-sessions .sessions-table{border-collapse:collapse;margin-top:10px;width:100%}.counseling-sessions .sessions-table td,.counseling-sessions .sessions-table th{border:1px solid #ccc;padding:12px;text-align:center;vertical-align:middle}.counseling-sessions .sessions-table th{background:#007bff;color:#fff;font-weight:700}.counseling-sessions .status{font-weight:700}.counseling-sessions .status.pending{color:#007bff}.counseling-sessions .status.completed{color:#28a745}.counseling-sessions .notes-input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:14px;max-height:120px;overflow-y:auto;padding:8px;resize:vertical;width:100%}.counseling-sessions .action-buttons{align-items:center;display:flex;height:100%;justify-content:center}.counseling-sessions .action-group{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:52.734px}.counseling-sessions .action-group button,.counseling-sessions .sessions-table td:last-child button{align-items:center;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;margin:0 auto;min-width:100px;padding:8px 14px;white-space:nowrap}.counseling-sessions .sub-label{align-items:center;color:#444;display:flex;font-size:1.2rem;font-weight:600;gap:6px;margin:30px 0 10px}.counseling-sessions .sub-label svg{color:#007bff}.counseling-container{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:20px auto;padding:20px;width:100%}.counseling-container .icon{margin-right:8px;vertical-align:middle}.counseling-title{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:20px}.counseling-section{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:15px}.counseling-section h2{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:10px}.counseling-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 15px;transition:.2s}.counseling-btn:hover{background-color:#0056b3}.counseling-list{border-collapse:collapse;margin-top:10px;width:100%}.counseling-list td,.counseling-list th{border-bottom:1px solid #ddd;padding:10px;text-align:center}.counseling-list th{background:#007bff;color:#fff}.counseling-list tbody tr:nth-child(2n){background:#f8f9fa}.counseling-list tbody tr:hover{background:#e9ecef}.mypage-container{margin:0 auto;max-width:1000px;padding:2rem}.mypage-container h2{color:#1f2937;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.mypage-container .user-summary{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;color:#1f2937;margin-bottom:2rem;padding:1rem 1.5rem}.mypage-container .user-summary p{font-size:1rem;font-weight:500;margin:.3rem 0}.mypage-container .card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:2rem}.mypage-container .section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 10px #0000000d;padding:1.5rem 2rem}.mypage-container .section-card h3{color:#374151;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.mypage-container .section-card p{color:#374151;font-size:1rem;margin-bottom:.6rem}.mypage-container .section-card p strong{color:#111827;display:inline-block;min-width:110px}.mypage-container .button-wrapper{display:flex;gap:10px;justify-content:flex-end;margin-top:1.5rem}.mypage-container .button-wrapper .edit-btn{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 18px;transition:background-color .2s ease-in-out}.mypage-container .button-wrapper .edit-btn:hover{background-color:#1e40af}.user-summary{background-color:#f1f5f9;border-radius:10px;color:#334155;font-size:1rem;margin-bottom:2rem;padding:1rem 1.5rem}.user-summary strong{color:#111827}.card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.student-attendance{padding:20px}.student-attendance h3{color:#222;font-size:2rem;font-weight:700;margin-bottom:20px}.student-attendance .loading{color:#777;font-size:1.2rem;text-align:center}.student-attendance .attendance-container{display:flex;flex-wrap:wrap;gap:24px}.student-attendance .attendance-table{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;flex:2 1;padding:24px}.student-attendance .attendance-table h4{font-size:1.5rem;font-weight:700;margin-bottom:12px}.student-attendance .attendance-table table{border-collapse:collapse;width:100%}.student-attendance .attendance-table table td,.student-attendance .attendance-table table th{border-bottom:1px solid #ddd;font-size:1rem;padding:14px;text-align:center;vertical-align:middle}.student-attendance .attendance-table table th{background:#007bff;color:#fff;font-weight:700}.student-attendance .attendance-table table td{min-width:120px}.student-attendance .attendance-table table tbody tr:hover{background:#f1f3f5}.student-attendance .attendance-table table .badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:600;height:26px;justify-content:center;min-width:60px;padding:2px 8px;text-align:center;white-space:nowrap}.student-attendance .attendance-table table .badge.present{background-color:#28a745;color:#fff}.student-attendance .attendance-table table .badge.late{background-color:#ffc107;color:#222}.student-attendance .attendance-table table .badge.absent{background-color:#dc3545;color:#fff}.student-attendance .attendance-summary{background:#f8f9fa;border-radius:12px;box-shadow:0 3px 6px #0000001a;flex:1 1;padding:24px}.student-attendance .attendance-summary h4{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:16px}.student-attendance .attendance-summary .summary-item{align-items:center;color:#444;display:flex;font-size:1.5rem;gap:10px;line-height:1.6;margin-bottom:10px}.student-attendance .attendance-summary .summary-item svg{height:18px;min-width:18px}.student-attendance .attendance-summary .summary-item.present{color:#28a745;font-weight:700}.student-attendance .attendance-summary .summary-item.late{color:#ffc107;font-weight:700}.student-attendance .attendance-summary .summary-item.absent{color:#dc3545;font-weight:700}.student-attendance .attendance-summary .attendance-rate{background-color:#eaf3ff;border-radius:8px;color:#007bff;font-size:1.3rem;font-weight:700;margin-top:16px;padding:10px 16px;text-align:center}@media(max-width:768px){.student-attendance .attendance-container{flex-direction:column}.student-attendance .attendance-summary{text-align:center}}.student-assignments{background:#fff;border-radius:16px;box-shadow:0 6px 12px #0000001f;margin:30px auto;padding:30px}h3{font-size:1.9rem;margin-bottom:24px}.assignment-tabs{display:flex;gap:16px;justify-content:left;margin-bottom:24px}.tab-btn{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 20px;transition:.2s}.tab-btn.active{background:#007bff;border-color:#007bff;color:#fff}.tab-btn:hover{background:#e9ecef}.assignments-container{display:flex;flex-wrap:wrap;gap:28px;justify-content:left}.assignment-card{background:#fff;border-left:6px solid #007bff;border-radius:14px;box-shadow:0 4px 10px #0000001f;padding:26px;text-align:center;transition:all .3s ease-in-out;width:360px}.assignment-card:hover{box-shadow:0 6px 16px #0000002e;transform:translateY(-4px)}.assignment-card h4{font-size:1.5rem;font-weight:700;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-card p{color:#444;font-size:1.05rem;margin-bottom:8px}.assignment-card .due-date{font-size:.95rem;font-weight:700;margin-bottom:12px}.assignment-card.not-submitted{background:linear-gradient(135deg,#fff5f5,#ffe3e3);border-left:6px solid #dc3545}.assignment-card.not-submitted .due-date,.assignment-card.not-submitted h4{color:#dc3545}.assignment-card.not-submitted .not-submitted-message{background:#dc354526;border-radius:6px;color:#dc3545;font-weight:700;padding:8px}.assignment-card.submitted{background:linear-gradient(135deg,#f0fff4,#dfffe3);border-left:6px solid #28a745}.assignment-card.submitted h4{color:#28a745}.assignment-card.submitted .due-date{color:#218838}.assignment-card.submitted .submitted-message{background:#28a74526;border-radius:6px;color:#218838;font-weight:700;padding:8px}.download-btn{align-items:center;background:#fff;border:2px solid #28a745;border-radius:10px;color:#28a745;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:12px 20px;transition:.3s;width:100%}.download-btn:hover{background:#eaf8ef;box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.submission-area{border-top:1px solid #ddd;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px}.submission-area input,.submission-area textarea{background:#fff;border:2px solid #ccc;border-radius:8px;font-size:15px;padding:14px;transition:all .2s ease-in-out}.submission-area input:focus,.submission-area textarea:focus{border-color:#007bff;box-shadow:0 0 6px #007bff66;outline:none}.submission-area textarea{height:120px;resize:none}.submission-area .cancel-btn,.submission-area .save-btn,.submission-area .submit-btn{align-items:center;background:#fff;border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;transition:.3s;width:100%}.submission-area .submit-btn{border:2px solid #28a745;color:#28a745}.submission-area .submit-btn:hover{background:#eaf8ef;box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.submission-area .save-btn{border:2px solid #007bff;color:#007bff}.submission-area .save-btn:hover{background:#eaf4ff;box-shadow:0 4px 10px #007bff33;transform:translateY(-2px)}.submission-area .cancel-btn{border:2px solid #6c757d;color:#6c757d}.submission-area .cancel-btn:hover{background:#f1f3f5;box-shadow:0 4px 10px #6c757d26;transform:translateY(-2px)}.assignment-card.graded{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-left:6px solid #ffc107}.assignment-card.graded h4{color:#d39e00}.assignment-card.graded .due-date{color:#b38900}.assignment-card.graded .graded-message{background:#ffc10726;border-radius:6px;color:#b38900;font-weight:700;padding:8px}.assignment-card.graded .grading-info{background:#ffc10726;border-radius:6px;color:#333;font-size:1rem;font-weight:700;margin-top:8px;padding:10px}.assignment-card.graded .feedback{background:#fff3cd;border-radius:6px;color:#555;font-size:.95rem;margin-top:10px;padding:12px;text-align:left}.edit-btn{align-items:center;background:#fff;border:2px solid #ffc107;border-radius:10px;color:#ffc107;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;text-align:center;transition:.3s;width:100%}.edit-btn:hover{background:#fff8e1;box-shadow:0 4px 10px #ffc10740;transform:translateY(-2px)}@media(max-width:768px){.assignments-container{align-items:center;flex-direction:column}.assignment-card{width:100%}.assignment-tabs{flex-wrap:wrap;justify-content:center}}.student-notices{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;margin:20px auto;padding:24px}.notices-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:0 auto;max-width:1800px;padding:16px}.notice-card{background:#fff;border:2px solid #007bff33;border-radius:14px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:24px;position:relative;transition:all .3s ease-in-out;width:100%}.notice-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-3px)}.notice-card h4{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-card .notice-content{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.notice-card .notice-date{color:#777;font-size:.9rem;margin-bottom:14px}.notice-card .btn-gray{align-self:flex-start;margin-bottom:10px}.notice-card .download-btn{align-items:center;background:#fff;border:2px solid #28a745;border-radius:6px;color:#28a745;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:.2s}.notice-card .download-btn:hover{background:#eaf8ef;box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.no-notices{color:#888;font-size:1.3rem;padding:24px;text-align:center}@media(max-width:768px){.notices-container{align-items:center;flex-direction:column}.notice-card{width:100%}.sort-container{justify-content:center}}.student-materials{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;margin:20px auto;padding:24px}h3{color:#222;font-size:1.8rem;font-weight:700;margin-bottom:18px}.sort-container{display:flex;justify-content:flex-end;margin-bottom:18px}.sort-btn{align-items:center;background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:6px;padding:12px 16px;transition:.2s}.sort-btn:hover{background:#0056b3}.materials-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:0 auto;max-width:1800px;padding:16px}.material-card{background:#fff;border:2px solid #007bff33;border-radius:14px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:24px;position:relative;transition:all .3s ease-in-out;width:100%}.material-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-3px)}.material-card h4{color:#007bff;font-size:1.4rem;font-weight:700;margin-bottom:12px}.material-card .material-file,.material-card h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-card .material-file{color:#444;display:inline-block;font-size:.95rem;font-weight:500;margin-bottom:6px;max-width:100%}.material-card .material-file:hover{background:#f3f4f6;border-radius:4px;padding:4px;white-space:normal}.material-card .material-desc{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#333;display:-webkit-box;font-size:1.2rem;line-height:1.8;margin-bottom:12px;min-height:3.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.material-card .material-date{color:#777;font-size:.9rem;margin-bottom:14px}.material-card .btn-gray{align-self:flex-start;margin-bottom:10px}.material-card .download-btn{align-items:center;background:#fff;border:2px solid #28a745;border-radius:6px;color:#28a745;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:.2s}.material-card .download-btn:hover{background:#eaf8ef;box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.no-materials{color:#888;font-size:1.3rem;padding:24px;text-align:center}@media(max-width:768px){.materials-container{align-items:center;flex-direction:column}.material-card{width:100%}.sort-container{justify-content:center}}.student-courses{padding:20px}.student-courses h2{color:#222;font-size:2rem;font-weight:700;margin-bottom:20px;text-align:left}.student-courses .courses-container{display:flex;flex-wrap:wrap;gap:20px}.student-courses .course-card{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;padding:24px;transition:transform .2s,box-shadow .2s;width:440px}.student-courses .course-card:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-4px)}.student-courses .course-card h3{color:#222;font-size:1.6rem;font-weight:700;margin-bottom:8px}.student-courses .course-card p{color:#555;flex-grow:1;font-size:1rem;line-height:1.5;margin-bottom:15px}.student-courses .course-card.active{background:#f0f8ff;border:3px solid #007bff}.student-courses .course-card .course-meta{color:#555;font-size:.875rem;margin-top:8px}.student-courses .course-card .course-meta span{display:block;margin-top:2px}.student-courses .course-tabs{display:flex;gap:10px;justify-content:space-between;margin-top:auto;padding-top:10px}.student-courses .course-tabs button{align-items:center;background:#f8f9fa;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;flex:1 1 22%;flex-direction:column;font-size:.95rem;font-weight:600;gap:4px;height:64px;justify-content:center;max-width:140px;min-width:90px;padding:10px;text-align:center}.student-courses .course-tabs button .icon{font-size:1.2rem;line-height:1}.student-courses .course-tabs button .label{font-size:.85rem;white-space:nowrap}.student-courses .course-tabs button.active{background:#007bff;color:#fff;transform:scale(1.05)}.student-courses .course-tabs button:hover{background:#0056b3;color:#fff;transform:scale(1.05)}.student-courses .course-content{background:#fff;border-radius:12px;box-shadow:0 4px 10px #0000001a;margin-top:25px;padding:24px}.student-courses .no-courses{color:#888;font-size:1.3rem;font-weight:500;text-align:center}@media(max-width:768px){.courses-container{align-items:center;flex-direction:column}.course-card{width:100%}.course-tabs{flex-direction:column;gap:6px}.course-content{padding:20px;width:100%}}.counseling-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 4px 6px #00000014;margin-top:15px;overflow:hidden;width:100%}.counseling-table td,.counseling-table th{border:1px solid #ccc;font-size:16px;padding:12px;text-align:center}.counseling-table th{background:#007bff;color:#fff;font-weight:700}.counseling-table tbody tr:nth-child(2n){background:#f8f9fa}.counseling-table tbody tr:hover{background:#e9ecef}.status{border-radius:5px;font-weight:700;padding:5px 10px}.status.pending{background:#fff3cd;color:#ffc107}.status.approved{background:#d4edda;color:#28a745}.status.rejected{background:#f8d7da;color:#dc3545}.status.completed{background:#d4edda;color:#28a745}.request-buttons{display:flex;gap:10px;justify-content:center;margin-top:10px}.request-buttons button{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 15px;transition:.2s}.approved-btn{background-color:#28a745;color:#fff}.rejected-btn{background-color:#dc3545;color:#fff}.completed-btn{background-color:#007bff;color:#fff}.request-buttons button:hover{filter:brightness(.9)}.modal-overlay.request-status{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-overlay.request-status .modal{animation:fadeIn .3s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px 25px 20px;position:relative;text-align:center;width:60%}.modal-overlay.request-status .modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;padding:15px 8px;position:relative}.modal-overlay.request-status .modal .modal-header h3{font-size:1.5rem;font-weight:600;margin:0}.modal-overlay.request-status .modal .modal-header .modal-close-btn{background:#0000;border:none;color:#333;cursor:pointer;font-size:1.5rem;font-weight:700;position:absolute;top:.5px}.modal-overlay.request-status .modal .modal-header .modal-close-btn:hover{background-color:#f3f4f6}.modal-overlay.request-status .modal .modal table{font-size:15px;margin-bottom:16px;width:100%}.modal-overlay.request-status .modal .modal-footer{display:flex;justify-content:center;margin-top:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.modal{min-height:auto;width:90%}.modal table,.modal-close{font-size:14px}}.counseling-selection{align-items:center;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;gap:20px;margin:0 auto 30px;max-width:600px;padding:25px 20px;text-align:left}.select-group{display:flex;flex-direction:column;gap:6px;max-width:400px;width:100%}.select-group label{color:#343a40;font-size:15px;font-weight:600}.select-group select{background-color:#fff;border:1px solid #ced4da;border-radius:5px;font-size:15px;padding:10px 12px;transition:border-color .2s}.select-group select:focus{border-color:#007bff;outline:none}.counseling-selection button{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:6px;margin-top:10px;padding:12px 20px;transition:background .2s}.counseling-selection button:hover{background:#0056b3}.counseling-selection h3{align-items:center;color:#343a40;display:flex;font-size:20px;font-weight:700;gap:8px;margin-bottom:10px}.request-filter-container{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:10px 15px}@media(max-width:768px){.request-filter-container{justify-content:center}}.filter-btn{align-items:center;background:#fff;border:2px solid #ced4da;border-radius:20px;color:#212529;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease-in-out}.filter-btn.approved svg{color:#198754}.filter-btn.rejected svg{color:#dc3545}.filter-btn.completed svg{color:#0d6efd}.filter-btn:hover{background:#f1f3f5}.filter-btn.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.filter-btn.active svg{color:#fff}.academy-management{padding:20px}.academy-management h2{font-size:24px;margin-bottom:20px}.academy-management .add-btn{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.academy-management .add-btn:hover{background:#0056b3}.academy-management .styled-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 6px #0000000d;font-size:15px;margin-top:20px;overflow:hidden;width:100%}.academy-management .styled-table thead{background-color:#007bff;color:#fff}.academy-management .styled-table thead th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.academy-management .styled-table tbody tr{border-bottom:1px solid #e9ecef}.academy-management .styled-table tbody tr:hover{background-color:#f8f9fa}.academy-management .styled-table tbody tr td{color:#212529;font-size:14px;padding:14px 16px}.academy-management .styled-table .action-buttons{display:flex;gap:8px}.academy-management .styled-table .action-buttons button{border:none;border-radius:5px;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.academy-management .styled-table .action-buttons button.edit-btn{background-color:#17a2b8;color:#fff}.academy-management .styled-table .action-buttons button.edit-btn:hover{background-color:#138496}.academy-management .styled-table .action-buttons button.delete-btn{background-color:#dc3545;color:#fff}.academy-management .styled-table .action-buttons button.delete-btn:hover{background-color:#c82333}.academy-management .modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.academy-management .modal .modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 10px #00000026;padding:24px;width:400px}.academy-management .modal .modal-content h3{font-size:20px;margin-bottom:16px}.academy-management .modal .modal-content input{border:1px solid #ccc;border-radius:5px;font-size:16px;margin-bottom:10px;padding:10px;width:100%}.academy-management .modal .modal-content input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.academy-management .modal .modal-content .modal-actions{display:flex;justify-content:space-between;margin-top:15px}.academy-management .modal .modal-content .modal-actions button{border:none;border-radius:5px;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.academy-management .modal .modal-content .modal-actions button:first-child{background-color:#28a745;color:#fff}.academy-management .modal .modal-content .modal-actions button:first-child:hover{background:#218838}.academy-management .modal .modal-content .modal-actions button:last-child{background-color:#dc3545;color:#fff}.academy-management .modal .modal-content .modal-actions button:last-child:hover{background:#c82333}.password-display .view-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 10px}.password-display .view-btn:hover{background-color:#5a6268}.password-display .password-reveal{align-items:center;display:flex;gap:8px}.password-display .password-reveal .password-text{font-family:Courier New,Courier,monospace;font-size:15px}.password-display .password-reveal .icon-btn{background:none;border:none;cursor:pointer;font-size:18px}.password-display .password-reveal .icon-btn:hover{transform:scale(1.1)}.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{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0003;padding:2rem;width:400px}.modal h3{margin-bottom:1rem}.modal label{display:block;margin:.5rem 0 .25rem}.modal input{border:1px solid #ccc;border-radius:6px;margin-bottom:.75rem;padding:.5rem;width:100%}.modal .modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal .modal-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:.5rem 1rem}.modal .modal-actions button:first-of-type{background-color:#2563eb;color:#fff}.modal .modal-actions button:last-of-type{background-color:#f3f4f6}.account-management{padding:20px}.account-management h2{font-size:24px;margin-bottom:20px}.account-management .add-account-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;max-width:600px;padding:20px}.account-management .add-account-form h3{font-size:20px;margin-bottom:15px}.account-management .add-account-form input,.account-management .add-account-form select{border:1px solid #ccc;border-radius:5px;font-size:16px;margin-bottom:12px;padding:10px;transition:.2s;width:100%}.account-management .add-account-form input:focus,.account-management .add-account-form select:focus{border-color:#007bff;box-shadow:0 0 5px #007bff4d;outline:none}.account-management .add-account-form button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px;transition:background .2s,transform .1s;width:100%}.account-management .add-account-form button:hover{background:#218838}.account-management .add-account-form button:active{transform:scale(.98)}.account-management .account-table{border-collapse:collapse;margin-top:20px;width:100%}.account-management .account-table td,.account-management .account-table th{border:1px solid #dee2e6;padding:12px;text-align:left}.account-management .account-table th{background-color:#f8f9fa;font-weight:700}.account-management .account-table tr:nth-child(2n){background-color:#f2f2f2}.account-management .account-table .action-cell{display:flex;gap:10px}.account-management .account-table .action-cell button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px}.account-management .account-table .action-cell button.edit-btn{background-color:#007bff;color:#fff}.account-management .account-table .action-cell button.edit-btn:hover{background-color:#0056b3}.account-management .account-table .action-cell button.delete-btn{background-color:#dc3545;color:#fff}.account-management .account-table .action-cell button.delete-btn:hover{background-color:#b52d3a}.account-management .account-list{padding:20px}.account-management .account-list h3{font-size:22px;margin-bottom:16px}.account-management .account-list select{background:#fff;border:1.5px solid #ccc;border-radius:6px;font-size:15px;margin-bottom:20px;max-width:400px;padding:10px;transition:.2s;width:100%}.account-management .account-list select:focus{border-color:#007bff;box-shadow:0 0 4px #007bff4d;outline:none}.account-management .account-list .styled-table{border-collapse:collapse;border-radius:6px;box-shadow:0 2px 5px #0000000d;font-size:15px;overflow:hidden;width:100%}.account-management .account-list .styled-table thead{background-color:#007bff;color:#fff}.account-management .account-list .styled-table thead th{padding:12px;text-align:left}.account-management .account-list .styled-table tbody tr{border-bottom:1px solid #eaeaea}.account-management .account-list .styled-table tbody tr:hover{background-color:#f5f5f5}.account-management .account-list .styled-table tbody tr td{color:#333;padding:12px}@media(max-width:768px){.account-management .account-list select{font-size:14px;width:100%}.account-management .account-list .styled-table{font-size:14px}}.no-data-message{color:#666;font-size:15px;margin-top:20px;text-align:center}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#333;font-family:Arial,sans-serif}.app-container{display:flex;min-height:100vh}.app-container .sidebar{background-color:#343a40;color:#fff;min-height:100vh;padding:20px;width:250px}.app-container .sidebar ul{list-style:none;padding:0}.app-container .sidebar ul li{border-radius:5px;cursor:pointer;padding:10px;transition:background .2s}.app-container .sidebar ul li:hover{background:#fff3}.app-container .sidebar ul li.active{background:#007bff}.app-container .content{flex:1 1;padding:20px}
/*# sourceMappingURL=main.ead6c42c.css.map*/