docker

Change-Id: Ie7c4842bbed1447bf9117b2e199f69842aa0ec75
diff --git a/build/static/css/main.aef1c2f9.css.map b/build/static/css/main.aef1c2f9.css.map
new file mode 100644
index 0000000..e302d98
--- /dev/null
+++ b/build/static/css/main.aef1c2f9.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/main.aef1c2f9.css","mappings":"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","sources":["../node_modules/react-datepicker/dist/react-datepicker.css","index.css","components/Dashboard.css","components/Personal/Personal.css","components/AuthForm.css","components/AnnouncementDetail.css","components/TorrentDetail.css","components/RequestDetail.css","components/HelpDetail.css","components/Personal/personalSubpage.css","components/Administer.css","App.css"],"sourcesContent":["@charset \"UTF-8\";\n.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n  border-color: #ccc;\n  border-style: solid;\n  border-width: 3px 3px 0 0;\n  content: \"\";\n  display: block;\n  height: 9px;\n  position: absolute;\n  top: 6px;\n  width: 9px;\n}\n.react-datepicker-wrapper {\n  display: inline-block;\n  padding: 0;\n  border: 0;\n}\n\n.react-datepicker {\n  font-family: \"Helvetica Neue\", helvetica, arial, sans-serif;\n  font-size: 0.8rem;\n  background-color: #fff;\n  color: #000;\n  border: 1px solid #aeaeae;\n  border-radius: 0.3rem;\n  display: inline-block;\n  position: relative;\n  line-height: initial;\n}\n\n.react-datepicker--time-only .react-datepicker__time-container {\n  border-left: 0;\n}\n.react-datepicker--time-only .react-datepicker__time,\n.react-datepicker--time-only .react-datepicker__time-box {\n  border-bottom-left-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.react-datepicker-popper {\n  z-index: 1;\n  line-height: 0;\n}\n.react-datepicker-popper .react-datepicker__triangle {\n  stroke: #aeaeae;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n  fill: #f0f0f0;\n  color: #f0f0f0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {\n  fill: #fff;\n  color: #fff;\n}\n\n.react-datepicker__header {\n  text-align: center;\n  background-color: #f0f0f0;\n  border-bottom: 1px solid #aeaeae;\n  border-top-left-radius: 0.3rem;\n  padding: 8px 0;\n  position: relative;\n}\n.react-datepicker__header--time {\n  padding-bottom: 8px;\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.react-datepicker__header--time:not(.react-datepicker__header--time--only) {\n  border-top-left-radius: 0;\n}\n.react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n  border-top-right-radius: 0.3rem;\n}\n\n.react-datepicker__year-dropdown-container--select,\n.react-datepicker__month-dropdown-container--select,\n.react-datepicker__month-year-dropdown-container--select,\n.react-datepicker__year-dropdown-container--scroll,\n.react-datepicker__month-dropdown-container--scroll,\n.react-datepicker__month-year-dropdown-container--scroll {\n  display: inline-block;\n  margin: 0 15px;\n}\n\n.react-datepicker__current-month,\n.react-datepicker-time__header,\n.react-datepicker-year-header {\n  margin-top: 0;\n  color: #000;\n  font-weight: bold;\n  font-size: 0.944rem;\n}\n\nh2.react-datepicker__current-month {\n  padding: 0;\n  margin: 0;\n}\n\n.react-datepicker-time__header {\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n}\n\n.react-datepicker__navigation {\n  align-items: center;\n  background: none;\n  display: flex;\n  justify-content: center;\n  text-align: center;\n  cursor: pointer;\n  position: absolute;\n  top: 2px;\n  padding: 0;\n  border: none;\n  z-index: 1;\n  height: 32px;\n  width: 32px;\n  text-indent: -999em;\n  overflow: hidden;\n}\n.react-datepicker__navigation--previous {\n  left: 2px;\n}\n.react-datepicker__navigation--next {\n  right: 2px;\n}\n.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {\n  right: 85px;\n}\n.react-datepicker__navigation--years {\n  position: relative;\n  top: 0;\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.react-datepicker__navigation--years-previous {\n  top: 4px;\n}\n.react-datepicker__navigation--years-upcoming {\n  top: -4px;\n}\n.react-datepicker__navigation:hover *::before {\n  border-color: rgb(165.75, 165.75, 165.75);\n}\n\n.react-datepicker__navigation-icon {\n  position: relative;\n  top: -1px;\n  font-size: 20px;\n  width: 0;\n}\n.react-datepicker__navigation-icon--next {\n  left: -2px;\n}\n.react-datepicker__navigation-icon--next::before {\n  transform: rotate(45deg);\n  left: -7px;\n}\n.react-datepicker__navigation-icon--previous {\n  right: -2px;\n}\n.react-datepicker__navigation-icon--previous::before {\n  transform: rotate(225deg);\n  right: -7px;\n}\n\n.react-datepicker__month-container {\n  float: left;\n}\n\n.react-datepicker__year {\n  margin: 0.4rem;\n  text-align: center;\n}\n.react-datepicker__year-wrapper {\n  display: flex;\n  flex-wrap: wrap;\n  max-width: 180px;\n}\n.react-datepicker__year .react-datepicker__year-text {\n  display: inline-block;\n  width: 4rem;\n  margin: 2px;\n}\n\n.react-datepicker__month {\n  margin: 0.4rem;\n  text-align: center;\n}\n.react-datepicker__month .react-datepicker__month-text,\n.react-datepicker__month .react-datepicker__quarter-text {\n  display: inline-block;\n  width: 4rem;\n  margin: 2px;\n}\n\n.react-datepicker__input-time-container {\n  clear: both;\n  width: 100%;\n  float: left;\n  margin: 5px 0 10px 15px;\n  text-align: left;\n}\n.react-datepicker__input-time-container .react-datepicker-time__caption {\n  display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container {\n  display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {\n  display: inline-block;\n  margin-left: 10px;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {\n  width: auto;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {\n  -moz-appearance: textfield;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {\n  margin-left: 5px;\n  display: inline-block;\n}\n\n.react-datepicker__time-container {\n  float: right;\n  border-left: 1px solid #aeaeae;\n  width: 85px;\n}\n.react-datepicker__time-container--with-today-button {\n  display: inline;\n  border: 1px solid #aeaeae;\n  border-radius: 0.3rem;\n  position: absolute;\n  right: -87px;\n  top: 0;\n}\n.react-datepicker__time-container .react-datepicker__time {\n  position: relative;\n  background: white;\n  border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {\n  width: 85px;\n  overflow-x: hidden;\n  margin: 0 auto;\n  text-align: center;\n  border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {\n  list-style: none;\n  margin: 0;\n  height: calc(195px + 1.7rem / 2);\n  overflow-y: scroll;\n  padding-right: 0;\n  padding-left: 0;\n  width: 100%;\n  box-sizing: content-box;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {\n  height: 30px;\n  padding: 5px 10px;\n  white-space: nowrap;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {\n  cursor: pointer;\n  background-color: #f0f0f0;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {\n  background-color: #216ba5;\n  color: white;\n  font-weight: bold;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {\n  background-color: #216ba5;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {\n  color: #ccc;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {\n  cursor: default;\n  background-color: transparent;\n}\n\n.react-datepicker__week-number {\n  color: #ccc;\n  display: inline-block;\n  width: 1.7rem;\n  line-height: 1.7rem;\n  text-align: center;\n  margin: 0.166rem;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable {\n  cursor: pointer;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {\n  border-radius: 0.3rem;\n  background-color: #f0f0f0;\n}\n.react-datepicker__week-number--selected {\n  border-radius: 0.3rem;\n  background-color: #216ba5;\n  color: #fff;\n}\n.react-datepicker__week-number--selected:hover {\n  background-color: rgb(28.75, 93.2196969697, 143.75);\n}\n\n.react-datepicker__day-names {\n  white-space: nowrap;\n  margin-bottom: -8px;\n}\n\n.react-datepicker__week {\n  white-space: nowrap;\n}\n\n.react-datepicker__day-name,\n.react-datepicker__day,\n.react-datepicker__time-name {\n  color: #000;\n  display: inline-block;\n  width: 1.7rem;\n  line-height: 1.7rem;\n  text-align: center;\n  margin: 0.166rem;\n}\n\n.react-datepicker__day,\n.react-datepicker__month-text,\n.react-datepicker__quarter-text,\n.react-datepicker__year-text {\n  cursor: pointer;\n}\n.react-datepicker__day:not([aria-disabled=true]):hover,\n.react-datepicker__month-text:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text:not([aria-disabled=true]):hover,\n.react-datepicker__year-text:not([aria-disabled=true]):hover {\n  border-radius: 0.3rem;\n  background-color: #f0f0f0;\n}\n.react-datepicker__day--today,\n.react-datepicker__month-text--today,\n.react-datepicker__quarter-text--today,\n.react-datepicker__year-text--today {\n  font-weight: bold;\n}\n.react-datepicker__day--highlighted,\n.react-datepicker__month-text--highlighted,\n.react-datepicker__quarter-text--highlighted,\n.react-datepicker__year-text--highlighted {\n  border-radius: 0.3rem;\n  background-color: #3dcc4a;\n  color: #fff;\n}\n.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {\n  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);\n}\n.react-datepicker__day--highlighted-custom-1,\n.react-datepicker__month-text--highlighted-custom-1,\n.react-datepicker__quarter-text--highlighted-custom-1,\n.react-datepicker__year-text--highlighted-custom-1 {\n  color: magenta;\n}\n.react-datepicker__day--highlighted-custom-2,\n.react-datepicker__month-text--highlighted-custom-2,\n.react-datepicker__quarter-text--highlighted-custom-2,\n.react-datepicker__year-text--highlighted-custom-2 {\n  color: green;\n}\n.react-datepicker__day--holidays,\n.react-datepicker__month-text--holidays,\n.react-datepicker__quarter-text--holidays,\n.react-datepicker__year-text--holidays {\n  position: relative;\n  border-radius: 0.3rem;\n  background-color: #ff6803;\n  color: #fff;\n}\n.react-datepicker__day--holidays .overlay,\n.react-datepicker__month-text--holidays .overlay,\n.react-datepicker__quarter-text--holidays .overlay,\n.react-datepicker__year-text--holidays .overlay {\n  position: absolute;\n  bottom: 100%;\n  left: 50%;\n  transform: translateX(-50%);\n  background-color: #333;\n  color: #fff;\n  padding: 4px;\n  border-radius: 4px;\n  white-space: nowrap;\n  visibility: hidden;\n  opacity: 0;\n  transition: visibility 0s, opacity 0.3s ease-in-out;\n}\n.react-datepicker__day--holidays:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {\n  background-color: rgb(207, 82.9642857143, 0);\n}\n.react-datepicker__day--holidays:hover .overlay,\n.react-datepicker__month-text--holidays:hover .overlay,\n.react-datepicker__quarter-text--holidays:hover .overlay,\n.react-datepicker__year-text--holidays:hover .overlay {\n  visibility: visible;\n  opacity: 1;\n}\n.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,\n.react-datepicker__month-text--selected,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--selected,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--selected,\n.react-datepicker__year-text--in-selecting-range,\n.react-datepicker__year-text--in-range {\n  border-radius: 0.3rem;\n  background-color: #216ba5;\n  color: #fff;\n}\n.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {\n  background-color: rgb(28.75, 93.2196969697, 143.75);\n}\n.react-datepicker__day--keyboard-selected,\n.react-datepicker__month-text--keyboard-selected,\n.react-datepicker__quarter-text--keyboard-selected,\n.react-datepicker__year-text--keyboard-selected {\n  border-radius: 0.3rem;\n  background-color: rgb(186.25, 217.0833333333, 241.25);\n  color: rgb(0, 0, 0);\n}\n.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,\n.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,\n.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,\n.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {\n  background-color: rgb(28.75, 93.2196969697, 143.75);\n}\n.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range),\n.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,\n.react-datepicker__month-text--in-range,\n.react-datepicker__quarter-text--in-range,\n.react-datepicker__year-text--in-range) {\n  background-color: rgba(33, 107, 165, 0.5);\n}\n.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range),\n.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,\n.react-datepicker__month-text--in-selecting-range,\n.react-datepicker__quarter-text--in-selecting-range,\n.react-datepicker__year-text--in-selecting-range) {\n  background-color: #f0f0f0;\n  color: #000;\n}\n.react-datepicker__day--disabled,\n.react-datepicker__month-text--disabled,\n.react-datepicker__quarter-text--disabled,\n.react-datepicker__year-text--disabled {\n  cursor: default;\n  color: #ccc;\n}\n.react-datepicker__day--disabled .overlay,\n.react-datepicker__month-text--disabled .overlay,\n.react-datepicker__quarter-text--disabled .overlay,\n.react-datepicker__year-text--disabled .overlay {\n  position: absolute;\n  bottom: 70%;\n  left: 50%;\n  transform: translateX(-50%);\n  background-color: #333;\n  color: #fff;\n  padding: 4px;\n  border-radius: 4px;\n  white-space: nowrap;\n  visibility: hidden;\n  opacity: 0;\n  transition: visibility 0s, opacity 0.3s ease-in-out;\n}\n\n.react-datepicker__input-container {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n}\n.react-datepicker__input-container .react-datepicker__calendar-icon {\n  position: absolute;\n  padding: 0.5rem;\n  box-sizing: content-box;\n}\n\n.react-datepicker__view-calendar-icon input {\n  padding: 6px 10px 5px 25px;\n}\n\n.react-datepicker__year-read-view,\n.react-datepicker__month-read-view,\n.react-datepicker__month-year-read-view {\n  border: 1px solid transparent;\n  border-radius: 0.3rem;\n  position: relative;\n}\n.react-datepicker__year-read-view:hover,\n.react-datepicker__month-read-view:hover,\n.react-datepicker__month-year-read-view:hover {\n  cursor: pointer;\n}\n.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {\n  border-top-color: rgb(178.5, 178.5, 178.5);\n}\n.react-datepicker__year-read-view--down-arrow,\n.react-datepicker__month-read-view--down-arrow,\n.react-datepicker__month-year-read-view--down-arrow {\n  transform: rotate(135deg);\n  right: -16px;\n  top: 0;\n}\n\n.react-datepicker__year-dropdown,\n.react-datepicker__month-dropdown,\n.react-datepicker__month-year-dropdown {\n  background-color: #f0f0f0;\n  position: absolute;\n  width: 50%;\n  left: 25%;\n  top: 30px;\n  z-index: 1;\n  text-align: center;\n  border-radius: 0.3rem;\n  border: 1px solid #aeaeae;\n}\n.react-datepicker__year-dropdown:hover,\n.react-datepicker__month-dropdown:hover,\n.react-datepicker__month-year-dropdown:hover {\n  cursor: pointer;\n}\n.react-datepicker__year-dropdown--scrollable,\n.react-datepicker__month-dropdown--scrollable,\n.react-datepicker__month-year-dropdown--scrollable {\n  height: 150px;\n  overflow-y: scroll;\n}\n\n.react-datepicker__year-option,\n.react-datepicker__month-option,\n.react-datepicker__month-year-option {\n  line-height: 20px;\n  width: 100%;\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.react-datepicker__year-option:first-of-type,\n.react-datepicker__month-option:first-of-type,\n.react-datepicker__month-year-option:first-of-type {\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:last-of-type,\n.react-datepicker__month-option:last-of-type,\n.react-datepicker__month-year-option:last-of-type {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  border-bottom-left-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:hover,\n.react-datepicker__month-option:hover,\n.react-datepicker__month-year-option:hover {\n  background-color: #ccc;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {\n  border-bottom-color: rgb(178.5, 178.5, 178.5);\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,\n.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {\n  border-top-color: rgb(178.5, 178.5, 178.5);\n}\n.react-datepicker__year-option--selected,\n.react-datepicker__month-option--selected,\n.react-datepicker__month-year-option--selected {\n  position: absolute;\n  left: 15px;\n}\n\n.react-datepicker__close-icon {\n  cursor: pointer;\n  background-color: transparent;\n  border: 0;\n  outline: 0;\n  padding: 0 6px 0 0;\n  position: absolute;\n  top: 0;\n  right: 0;\n  height: 100%;\n  display: table-cell;\n  vertical-align: middle;\n}\n.react-datepicker__close-icon::after {\n  cursor: pointer;\n  background-color: #216ba5;\n  color: #fff;\n  border-radius: 50%;\n  height: 16px;\n  width: 16px;\n  padding: 2px;\n  font-size: 12px;\n  line-height: 1;\n  text-align: center;\n  display: table-cell;\n  vertical-align: middle;\n  content: \"×\";\n}\n.react-datepicker__close-icon--disabled {\n  cursor: default;\n}\n.react-datepicker__close-icon--disabled::after {\n  cursor: default;\n  background-color: #ccc;\n}\n\n.react-datepicker__today-button {\n  background: #f0f0f0;\n  border-top: 1px solid #aeaeae;\n  cursor: pointer;\n  text-align: center;\n  font-weight: bold;\n  padding: 5px 0;\n  clear: left;\n}\n\n.react-datepicker__portal {\n  position: fixed;\n  width: 100vw;\n  height: 100vh;\n  background-color: rgba(0, 0, 0, 0.8);\n  left: 0;\n  top: 0;\n  justify-content: center;\n  align-items: center;\n  display: flex;\n  z-index: 2147483647;\n}\n.react-datepicker__portal .react-datepicker__day-name,\n.react-datepicker__portal .react-datepicker__day,\n.react-datepicker__portal .react-datepicker__time-name {\n  width: 3rem;\n  line-height: 3rem;\n}\n@media (max-width: 400px), (max-height: 550px) {\n  .react-datepicker__portal .react-datepicker__day-name,\n  .react-datepicker__portal .react-datepicker__day,\n  .react-datepicker__portal .react-datepicker__time-name {\n    width: 2rem;\n    line-height: 2rem;\n  }\n}\n.react-datepicker__portal .react-datepicker__current-month,\n.react-datepicker__portal .react-datepicker-time__header {\n  font-size: 1.44rem;\n}\n\n.react-datepicker__children-container {\n  width: 13.8rem;\n  margin: 0.4rem;\n  padding-right: 0.2rem;\n  padding-left: 0.2rem;\n  height: auto;\n}\n\n.react-datepicker__aria-live {\n  position: absolute;\n  clip-path: circle(0);\n  border: 0;\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  width: 1px;\n  white-space: nowrap;\n}\n\n.react-datepicker__calendar-icon {\n  width: 1em;\n  height: 1em;\n  vertical-align: -0.125em;\n}\n","body {\r\n  margin: 0;\r\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n    sans-serif;\r\n  -webkit-font-smoothing: antialiased;\r\n  -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n    monospace;\r\n}\r\n","/* src/components/Dashboard.css */\r\n.dashboard-container {\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100vh;\r\n    background-color: #f5f5f5;\r\n  }\r\n  \r\n  .top-bar {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    padding: 10px 20px;\r\n    background-color: #fff;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n    position: sticky;\r\n    top: 0;\r\n    z-index: 100;\r\n  }\r\n  \r\n  .search-container {\r\n    display: flex;\r\n    flex-grow: 1;\r\n    max-width: 600px;\r\n    margin: 0 auto;\r\n  }\r\n  \r\n  .search-input {\r\n    flex-grow: 1;\r\n    padding: 8px 15px;\r\n    border: 1px solid #ddd;\r\n    border-radius: 20px 0 0 20px;\r\n    font-size: 16px;\r\n    outline: none;\r\n  }\r\n  \r\n  .search-button {\r\n    padding: 8px 15px;\r\n    background-color: #007bff;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 0 20px 20px 0;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n  }\r\n  \r\n  .search-button:hover {\r\n    background-color: #0056b3;\r\n  }\r\n  \r\n  .user-info {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n  }\r\n  \r\n  .user-avatar {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    object-fit: cover;\r\n  }\r\n  \r\n  .username {\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .logout-button {\r\n    padding: 5px 10px;\r\n    background-color: #f8f9fa;\r\n    border: 1px solid #ddd;\r\n    border-radius: 4px;\r\n    cursor: pointer;\r\n    margin-left: 10px;\r\n  }\r\n  \r\n  .logout-button:hover {\r\n    background-color: #e9ecef;\r\n  }\r\n  \r\n  .nav-tabs {\r\n    display: flex;\r\n    background-color: #fff;\r\n    border-bottom: 1px solid #ddd;\r\n    padding: 0 20px;\r\n  }\r\n  \r\n  .tab-button {\r\n    padding: 12px 20px;\r\n    background: none;\r\n    border: none;\r\n    border-bottom: 3px solid transparent;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    color: #666;\r\n  }\r\n  \r\n  .tab-button:hover {\r\n    color: #007bff;\r\n  }\r\n  \r\n  .tab-button.active {\r\n    color: #007bff;\r\n    border-bottom-color: #007bff;\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .content-area {\r\n    flex-grow: 1;\r\n    padding: 20px;\r\n    background-color: #fff;\r\n    margin: 20px;\r\n    border-radius: 4px;\r\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\r\n  }\r\n  \r\n  .loading, .error {\r\n    padding: 20px;\r\n    text-align: center;\r\n    font-size: 18px;\r\n  }\r\n  \r\n  .error {\r\n    color: #dc3545;\r\n  }\r\n\r\n/* 公告区样式 */\r\n  /* 轮播图样式 */\r\n.carousel-container {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 200px;\r\n    overflow: hidden;\r\n    margin-bottom: 20px;\r\n    border-radius: 4px;\r\n  }\r\n  \r\n  .carousel-slide {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    opacity: 0;\r\n    transition: opacity 1s ease-in-out;\r\n  }\r\n  \r\n  .carousel-slide.active {\r\n    opacity: 1;\r\n  }\r\n  \r\n  .carousel-image {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    font-size: 24px;\r\n    font-weight: bold;\r\n    color: white;\r\n  }\r\n  \r\n  .gray-bg {\r\n    background-color: #666;\r\n  }\r\n  \r\n  .carousel-dots {\r\n    position: absolute;\r\n    bottom: 15px;\r\n    left: 0;\r\n    right: 0;\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 10px;\r\n  }\r\n  \r\n  .dot {\r\n    width: 12px;\r\n    height: 12px;\r\n    border-radius: 50%;\r\n    background-color: rgba(255, 255, 255, 0.5);\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .dot.active {\r\n    background-color: white;\r\n  }\r\n  \r\n  /* 公告网格样式 */\r\n  .announcement-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n    gap: 20px;\r\n  }\r\n  \r\n  .announcement-card {\r\n    background-color: white;\r\n    padding: 15px;\r\n    border-radius: 4px;\r\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\r\n    transition: transform 0.2s, box-shadow 0.2s;\r\n  }\r\n  \r\n  .announcement-card:hover {\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n  }\r\n  \r\n  .announcement-card h3 {\r\n    margin-top: 0;\r\n    color: #007bff;\r\n    border-bottom: 1px solid #eee;\r\n    padding-bottom: 8px;\r\n  }\r\n  \r\n  .announcement-card p {\r\n    margin-bottom: 0;\r\n    color: #666;\r\n    line-height: 1.5;\r\n  }\r\n/* 分享区样式   */\r\n /* 上传头部样式 */\r\n.upload-header {\r\n  margin-bottom: 20px;\r\n  display: flex;\r\n  justify-content: flex-start;\r\n}\r\n\r\n.upload-btn {\r\n  padding: 10px 20px;\r\n  background: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  font-size: 16px;\r\n  cursor: pointer;\r\n  transition: all 0.3s;\r\n}\r\n\r\n.upload-btn:hover {\r\n  background: #40a9ff;\r\n}\r\n\r\n/* 弹窗样式 */\r\n.modal-overlay {\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background: rgba(0,0,0,0.5);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 1000;\r\n}\r\n\r\n.upload-modal {\r\n  background: white;\r\n  padding: 25px;\r\n  border-radius: 8px;\r\n  width: 500px;\r\n  max-width: 90%;\r\n  position: relative;\r\n}\r\n\r\n.close-btn {\r\n  position: absolute;\r\n  top: 15px;\r\n  right: 15px;\r\n  background: none;\r\n  border: none;\r\n  font-size: 20px;\r\n  cursor: pointer;\r\n}\r\n\r\n/* 表单样式 */\r\n.form-group {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.form-group label {\r\n  display: block;\r\n  margin-bottom: 5px;\r\n  font-weight: 500;\r\n}\r\n\r\n.form-group input[type=\"text\"],\r\n.form-group select,\r\n.form-group textarea {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n}\r\n\r\n.form-group textarea {\r\n  min-height: 80px;\r\n}\r\n\r\n.form-actions {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  gap: 10px;\r\n  margin-top: 20px;\r\n}\r\n\r\n.cancel-btn {\r\n  padding: 8px 15px;\r\n  background: #f5f5f5;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n}\r\n\r\n.cancel-btn:hover {\r\n  background: #e6e6e6;\r\n}\r\n  /* 筛选区域 */\r\n.filter-section {\r\n  background: #f9f9f9;\r\n  padding: 15px;\r\n  border-radius: 8px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.filter-group {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.filter-group h4 {\r\n  margin: 0 0 8px 0;\r\n  font-size: 15px;\r\n  color: #666;\r\n}\r\n\r\n/* 筛选按钮 */\r\n.filter-btn {\r\n  padding: 6px 12px;\r\n  margin-right: 8px;\r\n  margin-bottom: 8px;\r\n  border: 1px solid #ddd;\r\n  background: white;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.filter-btn:hover {\r\n  border-color: #1890ff;\r\n  color: #1890ff;\r\n}\r\n\r\n.filter-btn.active {\r\n  background: #1890ff;\r\n  color: white;\r\n  border-color: #1890ff;\r\n}\r\n\r\n/* 确定按钮 */\r\n.confirm-btn {\r\n  padding: 8px 20px;\r\n  background: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  transition: opacity 0.3s;\r\n}\r\n\r\n.confirm-btn:hover {\r\n  background: #007bff;\r\n}\r\n\r\n.confirm-btn:disabled {\r\n  opacity: 0.5;\r\n  cursor: not-allowed;\r\n}\r\n\r\n\r\n/* 资源列表 */\r\n.resource-list {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 15px;\r\n}\r\n\r\n.resource-item {\r\n  display: flex;\r\n  align-items: center;\r\n  padding: 15px;\r\n  background-color: white;\r\n  border-radius: 4px;\r\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\r\n  transition: transform 0.2s, box-shadow 0.2s;\r\n}\r\n\r\n.resource-item:hover {\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.resource-poster {\r\n  margin-right: 15px;\r\n}\r\n\r\n.poster-image {\r\n  width: 60px;\r\n  height: 80px;\r\n  background-color: #666;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  color: white;\r\n  font-size: 24px;\r\n  font-weight: bold;\r\n  border-radius: 4px;\r\n}\r\n\r\n.resource-info {\r\n  flex-grow: 1;\r\n}\r\n\r\n.resource-title {\r\n  margin: 0 0 5px 0;\r\n  font-size: 16px;\r\n  font-weight: bold;\r\n}\r\n\r\n.resource-meta {\r\n  margin: 0;\r\n  font-size: 14px;\r\n  color: #666;\r\n}\r\n\r\n.resource-stats {\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: flex-end;\r\n  margin-right: 20px;\r\n  min-width: 150px;\r\n}\r\n\r\n.stat {\r\n  font-size: 13px;\r\n  color: #666;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.download-btn {\r\n  padding: 8px 15px;\r\n  background-color: #28a745;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  transition: background-color 0.2s;\r\n}\r\n\r\n.download-btn:hover {\r\n  background-color: #218838;\r\n}\r\n/* 发帖按钮样式 */\r\n.post-header {\r\n  margin-bottom: 20px;\r\n  text-align: right;\r\n}\r\n\r\n.create-post-btn {\r\n  background-color: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  padding: 8px 16px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.create-post-btn:hover {\r\n  background-color: #40a9ff;\r\n}\r\n\r\n/* 弹窗样式 */\r\n.post-modal-overlay {\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background-color: rgba(0, 0, 0, 0.5);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 1000;\r\n}\r\n\r\n.post-modal {\r\n  background-color: white;\r\n  padding: 24px;\r\n  border-radius: 8px;\r\n  width: 500px;\r\n  max-width: 90%;\r\n  position: relative;\r\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n.post-modal h3 {\r\n  margin-top: 0;\r\n  margin-bottom: 20px;\r\n  font-size: 18px;\r\n  color: #333;\r\n}\r\n\r\n.modal-close-btn {\r\n  position: absolute;\r\n  top: 16px;\r\n  right: 16px;\r\n  background: none;\r\n  border: none;\r\n  font-size: 20px;\r\n  cursor: pointer;\r\n  color: #999;\r\n}\r\n\r\n.modal-close-btn:hover {\r\n  color: #666;\r\n}\r\n\r\n/* 表单样式 */\r\n.form-group {\r\n  margin-bottom: 16px;\r\n}\r\n\r\n.form-group label {\r\n  display: block;\r\n  margin-bottom: 8px;\r\n  font-weight: 500;\r\n  color: #333;\r\n}\r\n\r\n.form-group input[type=\"text\"],\r\n.form-group textarea {\r\n  width: 100%;\r\n  padding: 8px 12px;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n  font-size: 14px;\r\n}\r\n\r\n.form-group textarea {\r\n  min-height: 120px;\r\n  resize: vertical;\r\n}\r\n\r\n.upload-image-btn {\r\n  display: flex;\r\n  align-items: center;\r\n}\r\n\r\n.upload-image-btn label {\r\n  background-color: #f5f5f5;\r\n  padding: 8px 16px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  border: 1px dashed #d9d9d9;\r\n  margin-right: 10px;\r\n  transition: all 0.3s;\r\n}\r\n\r\n.upload-image-btn label:hover {\r\n  border-color: #1890ff;\r\n  color: #1890ff;\r\n}\r\n\r\n.image-name {\r\n  font-size: 14px;\r\n  color: #666;\r\n}\r\n\r\n/* 按钮样式 */\r\n.form-actions {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  margin-top: 24px;\r\n}\r\n\r\n.cancel-btn {\r\n  background-color: #f5f5f5;\r\n  color: #333;\r\n  border: none;\r\n  padding: 8px 16px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  margin-right: 10px;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.cancel-btn:hover {\r\n  background-color: #e6e6e6;\r\n}\r\n\r\n.submit-btn {\r\n  background-color: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  padding: 8px 16px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.submit-btn:hover {\r\n  background-color: #40a9ff;\r\n}\r\n\r\n.pagination {\r\n  display: flex;\r\n  justify-content: center;\r\n  margin: 20px 0;\r\n  gap: 5px;\r\n}\r\n\r\n.pagination button {\r\n  padding: 5px 10px;\r\n  border: 1px solid #ddd;\r\n  background: white;\r\n  cursor: pointer;\r\n}\r\n\r\n.pagination button.active {\r\n  background: #1890ff;\r\n  color: white;\r\n  border-color: #1890ff;\r\n}\r\n\r\n.pagination button:disabled {\r\n  opacity: 0.5;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.filter-section {\r\n  position: sticky;\r\n  top: 0;\r\n  background: white;\r\n  z-index: 100;\r\n  padding: 15px;\r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1);\r\n}\r\n\r\n.admin-center-btn {\r\n  padding: 5px 10px;\r\n  margin-right: 10px;\r\n  background-color: #ff5722;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n}\r\n\r\n.admin-center-btn:hover {\r\n  background-color: #e64a19;\r\n}\r\n\r\n/* 区域搜索容器样式 */\r\n.section-search-container {\r\n  display: flex;\r\n  margin-bottom: 20px;\r\n  gap: 10px;\r\n}\r\n\r\n.section-search-input {\r\n  flex: 1;\r\n  padding: 10px 15px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  font-size: 1rem;\r\n}\r\n\r\n.section-search-button {\r\n  padding: 10px 20px;\r\n  background-color: #007bff;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.section-search-button:hover {\r\n  background-color: #0056b3;\r\n}\r\n\r\n/* 分享区顶部操作栏 */\r\n.share-top-actions {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  margin-bottom: 20px;\r\n  gap: 20px;\r\n}\r\n\r\n/* 上传按钮样式 */\r\n.upload-btn {\r\n  padding: 10px 20px;\r\n  background-color: #28a745;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n  white-space: nowrap;\r\n}\r\n\r\n.upload-btn:hover {\r\n  background-color: #218838;\r\n}\r\n\r\n/* 下载模态框样式 */\r\n.modal-overlay {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    background: rgba(0, 0, 0, 0.5);\r\n    z-index: 1000;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n.download-modal {\r\n    background: white;\r\n    padding: 20px;\r\n    border-radius: 8px;\r\n    width: 500px;\r\n    max-width: 90%;\r\n    position: relative;\r\n}\r\n\r\n.download-modal .close-btn {\r\n    position: absolute;\r\n    top: 10px;\r\n    right: 10px;\r\n    background: none;\r\n    border: none;\r\n    font-size: 20px;\r\n    cursor: pointer;\r\n}\r\n\r\n.download-modal .form-group {\r\n    margin-bottom: 15px;\r\n}\r\n\r\n.download-modal .form-group label {\r\n    display: block;\r\n    margin-bottom: 5px;\r\n}\r\n\r\n.download-modal .form-group input {\r\n    width: 100%;\r\n    padding: 8px;\r\n    border: 1px solid #ddd;\r\n    border-radius: 4px;\r\n}\r\n\r\n.progress-container {\r\n    margin: 15px 0;\r\n    background: #f0f0f0;\r\n    border-radius: 4px;\r\n    height: 20px;\r\n    overflow: hidden;\r\n}\r\n\r\n.progress-bar {\r\n    height: 100%;\r\n    background: #1890ff;\r\n    transition: width 0.3s;\r\n    color: white;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    line-height: 20px;\r\n}\r\n\r\n.modal-actions {\r\n    display: flex;\r\n    justify-content: flex-end;\r\n    gap: 10px;\r\n    margin-top: 20px;\r\n}\r\n\r\n.modal-actions button {\r\n    padding: 8px 16px;\r\n    border-radius: 4px;\r\n    cursor: pointer;\r\n}\r\n\r\n.modal-actions button:first-child {\r\n    background: #f5f5f5;\r\n    border: 1px solid #d9d9d9;\r\n}\r\n\r\n.modal-actions button:last-child {\r\n    background: #1890ff;\r\n    color: white;\r\n    border: none;\r\n}\r\n\r\n.modal-actions button:disabled {\r\n    background: #d9d9d9;\r\n    cursor: not-allowed;\r\n    opacity: 0.7;\r\n}\r\n\r\n/* 在Dashboard.css中添加以下样式 */\r\n\r\n.resource-actions {\r\n  display: flex;\r\n  gap: 10px;\r\n  margin-left: auto;\r\n}\r\n\r\n.delete-btn {\r\n  padding: 8px 15px;\r\n  background-color: #ff4d4f;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.delete-btn:hover {\r\n  background-color: #ff7875;\r\n}\r\n\r\n.delete-btn:disabled {\r\n  background-color: #d9d9d9;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.carousel-image {\r\n  padding: 1rem;\r\n  background: linear-gradient(to right, #f7b733, #fc4a1a);\r\n  color: white;\r\n  border-radius: 10px;\r\n  height: 180px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  font-size: 18px;\r\n  transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.carousel-image h3 {\r\n  font-size: 22px;\r\n  margin: 0;\r\n}\r\n\r\n.carousel-image p {\r\n  margin: 4px 0;\r\n}\r\n\r\n\r\n/* 平台名称样式 */\r\n.platform-name {\r\n  flex: 1;\r\n  display: flex;\r\n  align-items: center;\r\n  padding-left: 20px;\r\n}\r\n\r\n.platform-name h2 {\r\n  margin: 0;\r\n  color: #333;\r\n  font-size: 24px;\r\n  font-weight: bold;\r\n}\r\n\r\n/* 分区搜索框样式 */\r\n.section-search-container {\r\n  padding: 10px 20px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.section-search-input {\r\n  width: 100%;\r\n  padding: 8px 15px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 20px;\r\n  font-size: 14px;\r\n  outline: none;\r\n}\r\n\r\n.section-search-input:focus {\r\n  border-color: #1890ff;\r\n}\r\n\r\n.no-results {\r\n  text-align: center;\r\n  padding: 20px;\r\n  color: #888;\r\n  font-size: 16px;\r\n}\r\n\r\n.reset-button {\r\n  padding: 8px 15px;\r\n  background-color: #f0f0f0;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.reset-button:hover {\r\n  background-color: #e0e0e0;\r\n}","/* Personal.css */\r\n.personal-container {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n  }\r\n  \r\n  .back-button {\r\n    background: none;\r\n    border: none;\r\n    color: #1890ff;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    margin-bottom: 20px;\r\n    padding: 5px 0;\r\n  }\r\n  \r\n  .profile-card {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    margin-bottom: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .profile-header {\r\n    display: flex;\r\n    align-items: center;\r\n    margin-bottom: 20px;\r\n  }\r\n  \r\n  .profile-avatar {\r\n    width: 80px;\r\n    height: 80px;\r\n    border-radius: 50%;\r\n    margin-right: 20px;\r\n    object-fit: cover;\r\n  }\r\n  \r\n  .profile-info {\r\n    flex-grow: 1;\r\n  }\r\n  \r\n  .username {\r\n    font-size: 24px;\r\n    margin: 0 0 5px;\r\n  }\r\n  \r\n  .user-meta {\r\n    display: flex;\r\n    gap: 15px;\r\n    color: #666;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .stats-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 15px;\r\n  }\r\n  \r\n  .stat-item {\r\n    background: #f5f5f5;\r\n    border-radius: 6px;\r\n    padding: 15px;\r\n    text-align: center;\r\n  }\r\n  \r\n  .stat-label {\r\n    font-size: 14px;\r\n    color: #666;\r\n    margin-bottom: 5px;\r\n  }\r\n  \r\n  .stat-value {\r\n    font-size: 18px;\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .quota-card {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    margin-bottom: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .quota-card h3 {\r\n    margin-top: 0;\r\n    margin-bottom: 15px;\r\n  }\r\n  \r\n  .quota-info {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .quota-used {\r\n    color: #1890ff;\r\n  }\r\n  \r\n  .quota-remaining {\r\n    color: #52c41a;\r\n  }\r\n  \r\n  .progress-bar {\r\n    height: 10px;\r\n    background: #f0f0f0;\r\n    border-radius: 5px;\r\n    margin-bottom: 10px;\r\n    overflow: hidden;\r\n  }\r\n  \r\n  .progress-fill {\r\n    height: 100%;\r\n    background: #1890ff;\r\n    border-radius: 5px;\r\n    transition: width 0.3s ease;\r\n  }\r\n  \r\n  .quota-total {\r\n    text-align: right;\r\n    color: #666;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .action-cards {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 15px;\r\n  }\r\n  \r\n  .action-card {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n    cursor: pointer;\r\n    transition: transform 0.2s ease;\r\n  }\r\n  \r\n  .action-card:hover {\r\n    transform: translateY(-3px);\r\n    box-shadow: 0 4px 8px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .action-card h3 {\r\n    margin-top: 0;\r\n    color: #1890ff;\r\n  }\r\n  \r\n  .action-card p {\r\n    color: #666;\r\n    margin-bottom: 0;\r\n  }\r\n\r\n  .subpage-container {\r\n    margin-top: 20px;\r\n    border-top: 1px solid #f0f0f0;\r\n    padding-top: 20px;\r\n  }\r\n\r\n\r\n  /* Personal.css */\r\n/* ... 其他已有样式 ... */\r\n\r\n/* 下载进度卡片样式 */\r\n.progress-card {\r\n  background: #fff;\r\n  border-radius: 8px;\r\n  padding: 20px;\r\n  margin-bottom: 20px;\r\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.download-task {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.task-info {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.task-id {\r\n  font-size: 14px;\r\n  color: #666;\r\n}\r\n\r\n.task-progress {\r\n  font-size: 14px;\r\n  font-weight: bold;\r\n  color: #1890ff;\r\n}\r\n\r\n.progress-bar {\r\n  height: 8px;\r\n  background: #f0f0f0;\r\n  border-radius: 4px;\r\n  overflow: hidden;\r\n}\r\n\r\n.progress-fill {\r\n  height: 100%;\r\n  background: #1890ff;\r\n  border-radius: 4px;\r\n  transition: width 0.3s ease;\r\n}\r\n\r\n\r\n.user-meta span {\r\n  margin-right: 15px;\r\n  color: #666;\r\n}\r\n\r\n.user-meta span:last-child {\r\n  color: #ff9800;\r\n  font-weight: bold;\r\n}\r\n","/* src/components/AuthForm.css */\r\n.auth-container {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    justify-content: center;\r\n    min-height: 100vh;\r\n    background-color: #f5f5f5;\r\n    padding: 20px;\r\n}\r\n\r\n.auth-title {\r\n    color: #333;\r\n    font-size: 2.5rem;\r\n    margin-bottom: 2rem;\r\n    text-align: center;\r\n}\r\n\r\n.auth-form-wrapper {\r\n    width: 100%;\r\n    max-width: 400px;\r\n    background: white;\r\n    padding: 2rem;\r\n    border-radius: 8px;\r\n    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.auth-form {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 1rem;\r\n}\r\n\r\n.auth-form h2 {\r\n    color: #333;\r\n    text-align: center;\r\n    margin-bottom: 1.5rem;\r\n}\r\n\r\n.form-group {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 0.5rem;\r\n}\r\n\r\n.form-group input {\r\n    padding: 0.8rem;\r\n    border: 1px solid #ddd;\r\n    border-radius: 4px;\r\n    font-size: 1rem;\r\n    width: 100%;\r\n    box-sizing: border-box; /* 确保padding不会影响宽度 */\r\n    height: 42px; /* 固定高度 */\r\n}\r\n\r\n.form-group input:focus {\r\n    outline: none;\r\n    border-color: #007bff;\r\n}\r\n\r\n.auth-button {\r\n    padding: 0.8rem;\r\n    background-color: #007bff;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 4px;\r\n    font-size: 1rem;\r\n    cursor: pointer;\r\n    transition: background-color 0.3s;\r\n    height: 42px; /* 与输入框高度一致 */\r\n}\r\n\r\n.auth-button:hover {\r\n    background-color: #0056b3;\r\n}\r\n\r\n.auth-button:disabled {\r\n    background-color: #cccccc;\r\n    cursor: not-allowed;\r\n}\r\n\r\n.auth-switch {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    gap: 0.5rem;\r\n    margin-top: 1rem;\r\n    font-size: 0.9rem;\r\n    color: #666;\r\n}\r\n\r\n.switch-button {\r\n    background: none;\r\n    border: none;\r\n    color: #007bff;\r\n    cursor: pointer;\r\n    text-decoration: underline;\r\n    font-size: 0.9rem;\r\n    padding: 0;\r\n}\r\n\r\n.switch-button:hover {\r\n    color: #0056b3;\r\n}\r\n\r\n.error-message {\r\n    color: #dc3545;\r\n    background-color: #f8d7da;\r\n    padding: 0.5rem;\r\n    border-radius: 4px;\r\n    text-align: center;\r\n    margin-bottom: 1rem;\r\n}",".announcement-container {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n  }\r\n  \r\n  .back-button {\r\n    background: none;\r\n    border: none;\r\n    color: #1890ff;\r\n    font-size: 16px;\r\n    cursor: pointer;\r\n    margin-bottom: 20px;\r\n  }\r\n  \r\n  .announcement-detail {\r\n    background: white;\r\n    padding: 25px;\r\n    border-radius: 8px;\r\n    box-shadow: 0 2px 10px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .announcement-header {\r\n    border-bottom: 1px solid #f0f0f0;\r\n    padding-bottom: 15px;\r\n    margin-bottom: 20px;\r\n  }\r\n  \r\n  .announcement-header h1 {\r\n    margin: 0 0 10px 0;\r\n    font-size: 24px;\r\n  }\r\n  \r\n  .announcement-meta {\r\n    display: flex;\r\n    gap: 15px;\r\n    color: #666;\r\n    font-size: 14px;\r\n    align-items: center;\r\n  }\r\n  \r\n  .category-badge {\r\n    background: #e6f7ff;\r\n    color: #1890ff;\r\n    padding: 2px 8px;\r\n    border-radius: 4px;\r\n    font-size: 12px;\r\n  }\r\n  \r\n  .announcement-content {\r\n    line-height: 1.8;\r\n    font-size: 15px;\r\n  }\r\n  \r\n  .announcement-content p {\r\n    margin: 0 0 16px 0;\r\n  }\r\n  \r\n  .error-message {\r\n    text-align: center;\r\n    padding: 50px;\r\n    color: #ff4d4f;\r\n    font-size: 16px;\r\n  }","/* 基础布局样式 */\r\n.torrent-detail-container {\r\n  max-width: 1000px;\r\n  margin: 0 auto;\r\n  padding: 20px;\r\n  color: #333;\r\n}\r\n\r\n.back-button {\r\n  background: none;\r\n  border: none;\r\n  color: #3498db;\r\n  font-size: 16px;\r\n  cursor: pointer;\r\n  margin-bottom: 20px;\r\n  padding: 5px 10px;\r\n}\r\n\r\n.back-button:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n/* 种子信息区域 */\r\n.torrent-main {\r\n  display: flex;\r\n  gap: 30px;\r\n  margin-bottom: 40px;\r\n}\r\n\r\n.torrent-cover {\r\n  flex: 0 0 300px;\r\n}\r\n\r\n.cover-placeholder {\r\n  width: 100%;\r\n  height: 450px;\r\n  background-color: #eee;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 72px;\r\n  color: #999;\r\n  border-radius: 5px;\r\n}\r\n\r\n.torrent-info {\r\n  flex: 1;\r\n}\r\n\r\n.torrent-title {\r\n  font-size: 28px;\r\n  margin-bottom: 20px;\r\n  color: #222;\r\n}\r\n\r\n.uploader-info {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 15px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.uploader-avatar {\r\n  width: 40px;\r\n  height: 40px;\r\n  border-radius: 50%;\r\n  background-color: #3498db;\r\n  color: white;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-weight: bold;\r\n}\r\n\r\n.uploader-details {\r\n  flex: 1;\r\n}\r\n\r\n.uploader-name {\r\n  font-weight: bold;\r\n}\r\n\r\n.upload-time {\r\n  font-size: 14px;\r\n  color: #777;\r\n}\r\n\r\n.torrent-meta {\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.torrent-meta p {\r\n  margin: 5px 0;\r\n}\r\n\r\n.torrent-description {\r\n  margin-bottom: 30px;\r\n  line-height: 1.6;\r\n}\r\n\r\n.interaction-buttons {\r\n  display: flex;\r\n  gap: 15px;\r\n}\r\n\r\n.interaction-buttons button {\r\n  padding: 8px 15px;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  transition: background-color 0.2s;\r\n}\r\n\r\n.like-button {\r\n  background-color: #f0f0f0;\r\n}\r\n\r\n.like-button:hover {\r\n  background-color: #e0e0e0;\r\n}\r\n\r\n.download-button {\r\n  background-color: #3498db;\r\n  color: white;\r\n}\r\n\r\n.download-button:hover {\r\n  background-color: #2980b9;\r\n}\r\n\r\n/* 评论区域样式 */\r\n.comments-section {\r\n  margin-top: 40px;\r\n}\r\n\r\n.comments-section h2 {\r\n  font-size: 22px;\r\n  margin-bottom: 20px;\r\n  padding-bottom: 10px;\r\n  border-bottom: 1px solid #eee;\r\n}\r\n\r\n.comment-form {\r\n  margin-bottom: 30px;\r\n}\r\n\r\n.comment-form textarea {\r\n  width: 100%;\r\n  padding: 10px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  margin-bottom: 10px;\r\n  resize: vertical;\r\n  min-height: 80px;\r\n}\r\n\r\n.comment-form button {\r\n  background-color: #3498db;\r\n  color: white;\r\n  border: none;\r\n  padding: 8px 15px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n}\r\n\r\n.comment-form button:hover {\r\n  background-color: #2980b9;\r\n}\r\n\r\n.comment-list {\r\n  margin-top: 20px;\r\n}\r\n\r\n/* 评论项统一样式 */\r\n.comment-container {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.comment-item {\r\n  display: flex;\r\n  gap: 15px;\r\n  padding: 12px;\r\n  background: #fff;\r\n  border-radius: 8px;\r\n  border: 1px solid #eaeaea;\r\n}\r\n\r\n/* 副评论统一缩进 */\r\n.comment-container.is-reply {\r\n  margin-left: 40px;\r\n  position: relative;\r\n}\r\n\r\n/* 副评论连接线 */\r\n.comment-container.is-reply:before {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: -20px;\r\n  top: 20px;\r\n  width: 15px;\r\n  height: 1px;\r\n  background: #ddd;\r\n}\r\n\r\n.comment-avatar {\r\n  flex: 0 0 40px;\r\n  height: 40px;\r\n  border-radius: 50%;\r\n  background-color: #e74c3c;\r\n  color: white;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-weight: bold;\r\n}\r\n\r\n.comment-content {\r\n  flex: 1;\r\n}\r\n\r\n.comment-header {\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.comment-user {\r\n  font-weight: bold;\r\n  margin-right: 10px;\r\n}\r\n\r\n.reply-to {\r\n  color: #666;\r\n  font-size: 14px;\r\n  margin: 0 5px;\r\n}\r\n\r\n.comment-time {\r\n  font-size: 14px;\r\n  color: #777;\r\n}\r\n\r\n.comment-text {\r\n  margin-bottom: 10px;\r\n  line-height: 1.5;\r\n}\r\n\r\n.comment-actions {\r\n  display: flex;\r\n  gap: 15px;\r\n}\r\n\r\n.comment-actions button {\r\n  background: none;\r\n  border: none;\r\n  color: #3498db;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  padding: 0;\r\n}\r\n\r\n.comment-actions button:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n/* 回复列表容器 */\r\n.replies-container {\r\n  margin-top: 15px;\r\n}\r\n\r\n/* 副评论背景色 */\r\n.comment-container.is-reply .comment-item {\r\n  background: #f9f9f9;\r\n}\r\n\r\n/* 回复表单样式 */\r\n.reply-form {\r\n  margin-top: 15px;\r\n}\r\n\r\n.reply-form textarea {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  margin-bottom: 10px;\r\n  resize: vertical;\r\n  min-height: 60px;\r\n}\r\n\r\n.reply-actions {\r\n  display: flex;\r\n  gap: 10px;\r\n  justify-content: flex-end;\r\n}\r\n\r\n.reply-actions button {\r\n  padding: 5px 10px;\r\n  border: none;\r\n  border-radius: 3px;\r\n  cursor: pointer;\r\n  font-size: 13px;\r\n}\r\n\r\n.reply-actions button[type=\"button\"] {\r\n  background-color: #f0f0f0;\r\n}\r\n\r\n.reply-actions button[type=\"submit\"] {\r\n  background-color: #3498db;\r\n  color: white;\r\n}\r\n\r\n/* 加载和错误状态 */\r\n.loading {\r\n  text-align: center;\r\n  padding: 50px;\r\n  font-size: 18px;\r\n}\r\n\r\n.error {\r\n  color: #e74c3c;\r\n  text-align: center;\r\n  padding: 50px;\r\n  font-size: 18px;\r\n}\r\n/* 回复表单样式 */\r\n.reply-form {\r\n  margin-left: 50px;\r\n  margin-top: 10px;\r\n  background: #f5f5f5;\r\n  padding: 10px;\r\n  border-radius: 4px;\r\n}\r\n\r\n.reply-form textarea {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  resize: vertical;\r\n}\r\n\r\n.reply-form-buttons {\r\n  display: flex;\r\n  gap: 10px;\r\n  margin-top: 8px;\r\n}\r\n\r\n.reply-form-buttons button {\r\n  padding: 5px 10px;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n}\r\n\r\n.reply-form-buttons button[type=\"submit\"] {\r\n  background-color: #1890ff;\r\n  color: white;\r\n}\r\n\r\n.reply-form-buttons .cancel-reply {\r\n  background-color: #f5f5f5;\r\n  border: 1px solid #d9d9d9;\r\n}\r\n\r\n.comment-list {\r\n  margin-top: 20px;\r\n  border-top: 1px solid #eee;\r\n  padding-top: 20px;\r\n}\r\n\r\n.reply-form {\r\n  margin-left: 50px;\r\n  margin-top: 10px;\r\n  margin-bottom: 15px;\r\n  background: #f9f9f9;\r\n  padding: 12px;\r\n  border-radius: 6px;\r\n  border: 1px solid #eee;\r\n}\r\n\r\n.reply-form.nested-reply {\r\n  margin-left: 80px;\r\n}\r\n\r\n.reply-form textarea {\r\n  width: 100%;\r\n  padding: 10px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  resize: vertical;\r\n  min-height: 60px;\r\n  font-family: inherit;\r\n  font-size: 14px;\r\n}\r\n\r\n.reply-form-buttons {\r\n  display: flex;\r\n  gap: 10px;\r\n  margin-top: 10px;\r\n}\r\n\r\n.reply-form-buttons button {\r\n  padding: 6px 12px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 13px;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.reply-form-buttons button[type=\"submit\"] {\r\n  background-color: #1890ff;\r\n  color: white;\r\n  border: none;\r\n}\r\n\r\n.reply-form-buttons button[type=\"submit\"]:hover {\r\n  background-color: #40a9ff;\r\n}\r\n\r\n.reply-form-buttons .cancel-reply {\r\n  background-color: #f5f5f5;\r\n  border: 1px solid #d9d9d9;\r\n  color: #666;\r\n}\r\n\r\n.reply-form-buttons .cancel-reply:hover {\r\n  background-color: #e8e8e8;\r\n}\r\n\r\n/* 回复弹窗样式 */\r\n.reply-modal-overlay {\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background-color: rgba(0, 0, 0, 0.5);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 1000;\r\n}\r\n\r\n.reply-modal {\r\n  background: white;\r\n  border-radius: 8px;\r\n  width: 90%;\r\n  max-width: 500px;\r\n  padding: 20px;\r\n  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.modal-header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.modal-header h3 {\r\n  margin: 0;\r\n  font-size: 18px;\r\n}\r\n\r\n.close-modal {\r\n  background: none;\r\n  border: none;\r\n  font-size: 24px;\r\n  cursor: pointer;\r\n  color: #666;\r\n}\r\n\r\n.reply-modal textarea {\r\n  width: 100%;\r\n  padding: 12px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  resize: vertical;\r\n  min-height: 120px;\r\n  font-size: 14px;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.modal-actions {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  gap: 10px;\r\n}\r\n\r\n.modal-actions button {\r\n  padding: 8px 16px;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n}\r\n\r\n.cancel-btn {\r\n  background: #f5f5f5;\r\n  border: 1px solid #d9d9d9;\r\n  color: #666;\r\n}\r\n\r\n.cancel-btn:hover {\r\n  background: #e8e8e8;\r\n}\r\n\r\n.submit-btn {\r\n  background: #1890ff;\r\n  color: white;\r\n  border: none;\r\n}\r\n\r\n.submit-btn:hover {\r\n  background: #40a9ff;\r\n}\r\n","/* RequestDetail.css */\r\n.request-detail-container {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n  }\r\n  \r\n  .back-button {\r\n    background: none;\r\n    border: none;\r\n    color: #1890ff;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    margin-bottom: 20px;\r\n    padding: 5px 0;\r\n  }\r\n  \r\n  .request-post {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    margin-bottom: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .post-header {\r\n    display: flex;\r\n    align-items: center;\r\n    margin-bottom: 15px;\r\n  }\r\n  \r\n  .post-avatar {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    margin-right: 10px;\r\n  }\r\n  \r\n  .post-meta {\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n  \r\n  .post-author {\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .post-date {\r\n    color: #888;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .post-title {\r\n    font-size: 20px;\r\n    margin: 0 0 15px;\r\n  }\r\n  \r\n  .post-content {\r\n    line-height: 1.6;\r\n    margin-bottom: 15px;\r\n  }\r\n  \r\n  .post-actions {\r\n    display: flex;\r\n    gap: 15px;\r\n  }\r\n  \r\n  .like-button, .favorite-button {\r\n    padding: 5px 15px;\r\n    border-radius: 4px;\r\n    border: 1px solid #ddd;\r\n    background: #f5f5f5;\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .like-button.liked {\r\n    background: #e6f7ff;\r\n    border-color: #91d5ff;\r\n    color: #1890ff;\r\n  }\r\n  \r\n  .favorite-button.favorited {\r\n    background: #fff7e6;\r\n    border-color: #ffd591;\r\n    color: #fa8c16;\r\n  }\r\n  \r\n  .comments-section {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .comment-form {\r\n    margin-bottom: 20px;\r\n  }\r\n  \r\n  .comment-form textarea {\r\n    width: 100%;\r\n    padding: 10px;\r\n    border-radius: 4px;\r\n    border: 1px solid #ddd;\r\n    resize: vertical;\r\n    min-height: 80px;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .form-actions {\r\n    display: flex;\r\n    gap: 10px;\r\n  }\r\n  \r\n  .submit-comment, .submit-torrent {\r\n    padding: 8px 16px;\r\n    border-radius: 4px;\r\n    border: none;\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .submit-comment {\r\n    background: #1890ff;\r\n    color: white;\r\n  }\r\n  \r\n  .submit-torrent {\r\n    background: #52c41a;\r\n    color: white;\r\n  }\r\n  \r\n  .comment-list {\r\n    margin-top: 20px;\r\n  }\r\n  \r\n  .comment-item {\r\n    display: flex;\r\n    padding: 15px 0;\r\n    border-bottom: 1px solid #f0f0f0;\r\n  }\r\n  \r\n  .comment-item:last-child {\r\n    border-bottom: none;\r\n  }\r\n  \r\n  .comment-avatar {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    margin-right: 15px;\r\n    flex-shrink: 0;\r\n  }\r\n  \r\n  .comment-content {\r\n    flex-grow: 1;\r\n  }\r\n  \r\n  .comment-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    margin-bottom: 8px;\r\n  }\r\n  \r\n  .comment-author {\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .comment-date {\r\n    color: #888;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .comment-text {\r\n    line-height: 1.6;\r\n    margin-bottom: 8px;\r\n  }\r\n  \r\n  .torrent-comment {\r\n    display: flex;\r\n    align-items: center;\r\n    margin-bottom: 8px;\r\n    padding: 8px;\r\n    background: #f0f8ff;\r\n    border-radius: 4px;\r\n  }\r\n  \r\n  .torrent-title {\r\n    color: #1890ff;\r\n    flex-grow: 1;\r\n  }\r\n  \r\n  .torrent-size {\r\n    color: #666;\r\n    margin: 0 15px;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .download-torrent {\r\n    background: #1890ff;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 4px;\r\n    padding: 5px 10px;\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .comment-like {\r\n    background: none;\r\n    border: none;\r\n    color: #666;\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n    padding: 0;\r\n  }","/* HelpDetail.css */\r\n.help-detail-container {\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n  }\r\n  \r\n  .back-button {\r\n    background: none;\r\n    border: none;\r\n    color: #1890ff;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    margin-bottom: 20px;\r\n    padding: 5px 0;\r\n  }\r\n  \r\n  .help-post {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    margin-bottom: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .help-post.solved {\r\n    border-left: 4px solid #52c41a;\r\n  }\r\n  \r\n  .post-header {\r\n    display: flex;\r\n    align-items: center;\r\n    margin-bottom: 15px;\r\n    position: relative;\r\n  }\r\n  \r\n  .post-avatar {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    margin-right: 10px;\r\n  }\r\n  \r\n  .post-meta {\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n  \r\n  .post-author {\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .post-date {\r\n    color: #888;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .solved-badge {\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n    background: #52c41a;\r\n    color: white;\r\n    padding: 2px 8px;\r\n    border-radius: 4px;\r\n    font-size: 12px;\r\n  }\r\n  \r\n  .post-title {\r\n    font-size: 20px;\r\n    margin: 0 0 15px;\r\n  }\r\n  \r\n  .post-content {\r\n    line-height: 1.6;\r\n    margin-bottom: 15px;\r\n  }\r\n  \r\n  .post-actions {\r\n    display: flex;\r\n    gap: 15px;\r\n  }\r\n  \r\n  .like-button, .favorite-button, .solve-button {\r\n    padding: 5px 15px;\r\n    border-radius: 4px;\r\n    border: 1px solid #ddd;\r\n    background: #f5f5f5;\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .like-button.liked {\r\n    background: #e6f7ff;\r\n    border-color: #91d5ff;\r\n    color: #1890ff;\r\n  }\r\n  \r\n  .favorite-button.favorited {\r\n    background: #fff7e6;\r\n    border-color: #ffd591;\r\n    color: #fa8c16;\r\n  }\r\n  \r\n  .solve-button.solved {\r\n    background: #f6ffed;\r\n    border-color: #b7eb8f;\r\n    color: #52c41a;\r\n  }\r\n  \r\n  .comments-section {\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n  }\r\n  \r\n  .comment-form {\r\n    margin-bottom: 20px;\r\n  }\r\n  \r\n  .comment-form textarea {\r\n    width: 100%;\r\n    padding: 10px;\r\n    border-radius: 4px;\r\n    border: 1px solid #ddd;\r\n    resize: vertical;\r\n    min-height: 80px;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .image-upload {\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .upload-button {\r\n    background: #f5f5f5;\r\n    border: 1px dashed #d9d9d9;\r\n    border-radius: 4px;\r\n    padding: 8px 16px;\r\n    cursor: pointer;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .image-preview {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 10px;\r\n  }\r\n  \r\n  .preview-item {\r\n    position: relative;\r\n    width: 100px;\r\n    height: 100px;\r\n  }\r\n  \r\n  .preview-item img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    border-radius: 4px;\r\n  }\r\n  \r\n  .remove-image {\r\n    position: absolute;\r\n    top: -8px;\r\n    right: -8px;\r\n    width: 20px;\r\n    height: 20px;\r\n    background: #ff4d4f;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    font-size: 12px;\r\n  }\r\n  \r\n  .submit-button {\r\n    background: #1890ff;\r\n    color: white;\r\n    border: none;\r\n    border-radius: 4px;\r\n    padding: 8px 16px;\r\n    cursor: pointer;\r\n  }\r\n  \r\n  .comment-list {\r\n    margin-top: 20px;\r\n  }\r\n  \r\n  .comment-item {\r\n    display: flex;\r\n    padding: 15px 0;\r\n    border-bottom: 1px solid #f0f0f0;\r\n  }\r\n  \r\n  .comment-item:last-child {\r\n    border-bottom: none;\r\n  }\r\n  \r\n  .comment-avatar {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    margin-right: 15px;\r\n    flex-shrink: 0;\r\n  }\r\n  \r\n  .comment-content {\r\n    flex-grow: 1;\r\n  }\r\n  \r\n  .comment-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    margin-bottom: 8px;\r\n  }\r\n  \r\n  .comment-author {\r\n    font-weight: bold;\r\n  }\r\n  \r\n  .comment-date {\r\n    color: #888;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .comment-text {\r\n    line-height: 1.6;\r\n    margin-bottom: 8px;\r\n  }\r\n  \r\n  .comment-images {\r\n    display: flex;\r\n    gap: 10px;\r\n    margin-bottom: 10px;\r\n  }\r\n  \r\n  .comment-image {\r\n    max-width: 200px;\r\n    max-height: 150px;\r\n    border-radius: 4px;\r\n  }\r\n  \r\n  .comment-actions {\r\n    margin-top: 10px;\r\n  }\r\n  \r\n  .reply-form {\r\n    margin-top: 10px;\r\n    display: flex;\r\n    gap: 10px;\r\n  }\r\n  \r\n  .reply-form textarea {\r\n    flex-grow: 1;\r\n    padding: 8px;\r\n    border-radius: 4px;\r\n    border: 1px solid #ddd;\r\n    resize: vertical;\r\n    min-height: 40px;\r\n  }\r\n  \r\n  .submit-reply {\r\n    background: #f5f5f5;\r\n    border: 1px solid #d9d9d9;\r\n    border-radius: 4px;\r\n    padding: 0 15px;\r\n    cursor: pointer;\r\n    align-self: flex-end;\r\n    margin-bottom: 5px;\r\n  }\r\n  \r\n  .reply-list {\r\n    margin-top: 10px;\r\n    padding-left: 15px;\r\n    border-left: 2px solid #f0f0f0;\r\n  }\r\n  \r\n  .reply-item {\r\n    display: flex;\r\n    margin-top: 10px;\r\n  }\r\n  \r\n  .reply-avatar {\r\n    width: 30px;\r\n    height: 30px;\r\n    border-radius: 50%;\r\n    margin-right: 10px;\r\n  }\r\n  \r\n  .reply-content {\r\n    flex-grow: 1;\r\n  }\r\n  \r\n  .reply-header {\r\n    display: flex;\r\n    gap: 10px;\r\n    margin-bottom: 5px;\r\n  }\r\n  \r\n  .reply-author {\r\n    font-weight: bold;\r\n    font-size: 14px;\r\n  }\r\n  \r\n  .reply-date {\r\n    color: #888;\r\n    font-size: 12px;\r\n  }\r\n  \r\n  .reply-text {\r\n    font-size: 14px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  /* 评论项样式 */\r\n.comment-item {\r\n  display: flex;\r\n  margin-bottom: 20px;\r\n  padding: 15px;\r\n  background: #fff;\r\n  border-radius: 8px;\r\n  box-shadow: 0 1px 3px rgba(0,0,0,0.1);\r\n}\r\n\r\n.comment-avatar {\r\n  width: 40px;\r\n  height: 40px;\r\n  border-radius: 50%;\r\n  margin-right: 15px;\r\n  object-fit: cover;\r\n}\r\n\r\n.comment-content {\r\n  flex: 1;\r\n}\r\n\r\n.comment-header {\r\n  display: flex;\r\n  align-items: center;\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.comment-author {\r\n  font-weight: bold;\r\n  margin-right: 10px;\r\n  color: #333;\r\n}\r\n\r\n.comment-date {\r\n  font-size: 12px;\r\n  color: #999;\r\n}\r\n\r\n.comment-text {\r\n  margin-bottom: 10px;\r\n  line-height: 1.5;\r\n  color: #333;\r\n}\r\n\r\n.comment-actions {\r\n  display: flex;\r\n  align-items: center;\r\n  margin-top: 10px;\r\n}\r\n\r\n.like-button {\r\n  background: none;\r\n  border: none;\r\n  cursor: pointer;\r\n  color: #666;\r\n  font-size: 14px;\r\n  padding: 4px 8px;\r\n  display: flex;\r\n  align-items: center;\r\n}\r\n\r\n.like-button.liked {\r\n  color: #1877f2;\r\n}\r\n\r\n.like-button:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n/* 回复控制按钮 */\r\n.reply-controls {\r\n  margin: 10px 0;\r\n}\r\n\r\n.toggle-replies-btn {\r\n  background: none;\r\n  border: none;\r\n  color: #666;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  padding: 4px 8px;\r\n}\r\n\r\n.toggle-replies-btn:hover {\r\n  color: #333;\r\n  text-decoration: underline;\r\n}\r\n\r\n.toggle-replies-btn:disabled {\r\n  color: #ccc;\r\n  cursor: not-allowed;\r\n}\r\n\r\n/* 回复表单 */\r\n.reply-form {\r\n  margin-top: 10px;\r\n  width: 100%;\r\n}\r\n\r\n.reply-form textarea {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  resize: vertical;\r\n  min-height: 60px;\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.submit-reply {\r\n  background-color: #f0f2f5;\r\n  border: none;\r\n  border-radius: 4px;\r\n  padding: 6px 12px;\r\n  cursor: pointer;\r\n  color: #333;\r\n}\r\n\r\n.submit-reply:hover {\r\n  background-color: #e4e6eb;\r\n}\r\n\r\n/* 回复列表 */\r\n.reply-list {\r\n  margin-left: 55px; /* 头像宽度 + 边距 */\r\n  border-left: 2px solid #eee;\r\n  padding-left: 15px;\r\n  margin-top: 15px;\r\n}\r\n\r\n.reply-item {\r\n  display: flex;\r\n  margin-bottom: 15px;\r\n  padding: 12px;\r\n  background: #f9f9f9;\r\n  border-radius: 6px;\r\n}\r\n\r\n.reply-avatar {\r\n  width: 32px;\r\n  height: 32px;\r\n  border-radius: 50%;\r\n  margin-right: 10px;\r\n  object-fit: cover;\r\n}\r\n\r\n.reply-content {\r\n  flex: 1;\r\n}\r\n\r\n.reply-header {\r\n  display: flex;\r\n  align-items: center;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.reply-author {\r\n  font-weight: bold;\r\n  margin-right: 8px;\r\n  font-size: 14px;\r\n  color: #333;\r\n}\r\n\r\n.reply-date {\r\n  font-size: 12px;\r\n  color: #999;\r\n}\r\n\r\n.reply-text {\r\n  font-size: 14px;\r\n  line-height: 1.4;\r\n  color: #333;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.reply-actions {\r\n  margin-top: 5px;\r\n}\r\n\r\n/* 回复弹窗样式 */\r\n.reply-modal-overlay {\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background: rgba(0, 0, 0, 0.5);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 1000;\r\n}\r\n\r\n.reply-modal {\r\n  background: white;\r\n  padding: 20px;\r\n  border-radius: 8px;\r\n  width: 500px;\r\n  max-width: 90%;\r\n}\r\n\r\n.reply-modal h3 {\r\n  margin-top: 0;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.reply-modal textarea {\r\n  width: 100%;\r\n  padding: 10px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  resize: vertical;\r\n  min-height: 100px;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.modal-actions {\r\n  display: flex;\r\n  justify-content: flex-end;\r\n  gap: 10px;\r\n}\r\n\r\n.cancel-button {\r\n  background: #f5f5f5;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n  padding: 8px 16px;\r\n  cursor: pointer;\r\n}\r\n\r\n.submit-button {\r\n  background: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  padding: 8px 16px;\r\n  cursor: pointer;\r\n}\r\n\r\n.post-image-container {\r\n  width: 100%;\r\n  max-width: 500px; /* 最大宽度 */\r\n  margin: 10px 0;\r\n}\r\n\r\n.post-image {\r\n  width: 100%;\r\n  height: auto;\r\n  max-height: 400px; /* 最大高度 */\r\n  object-fit: contain; /* 保持比例完整显示图片 */\r\n  border-radius: 4px;\r\n}\r\n\r\n.comment-image-container {\r\n  width: 100%;\r\n  max-width: 500px; /* 最大宽度 */\r\n  margin: 10px 0;\r\n}\r\n\r\n.comment-image {\r\n  width: 100%;\r\n  height: auto;\r\n  max-height: 400px; /* 最大高度 */\r\n  object-fit: contain; /* 保持比例完整显示图片 */\r\n  border-radius: 4px;\r\n}\r\n\r\n","/* 上传记录表格样式 */\r\n.uploads-table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n  margin-top: 20px;\r\n}\r\n\r\n.uploads-table th, .uploads-table td {\r\n  padding: 12px 15px;\r\n  text-align: left;\r\n  border-bottom: 1px solid #e0e0e0;\r\n}\r\n\r\n.uploads-table th {\r\n  background-color: #f5f5f5;\r\n  font-weight: 600;\r\n}\r\n\r\n.list-item:hover {\r\n  background-color: #f9f9f9;\r\n}\r\n\r\n/* 操作按钮样式 */\r\n.action-btn {\r\n  padding: 6px 12px;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n  transition: background-color 0.2s;\r\n}\r\n\r\n.delete-btn {\r\n  background-color: #ff4d4f;\r\n  color: white;\r\n}\r\n\r\n.delete-btn:hover {\r\n  background-color: #ff7875;\r\n}\r\n\r\n/* 分页控件样式 */\r\n.pagination {\r\n  margin-top: 20px;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 15px;\r\n}\r\n\r\n.pagination button {\r\n  padding: 6px 12px;\r\n  border: 1px solid #d9d9d9;\r\n  background-color: #fff;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n}\r\n\r\n.pagination button:disabled {\r\n  color: #d9d9d9;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.pagination button:not(:disabled):hover {\r\n  border-color: #1890ff;\r\n  color: #1890ff;\r\n}\r\n\r\n/* 分页控件样式 */\r\n.pagination {\r\n  margin-top: 20px;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 8px;\r\n  flex-wrap: wrap;\r\n}\r\n\r\n.page-nav, .page-number {\r\n  padding: 6px 12px;\r\n  border: 1px solid #d9d9d9;\r\n  background-color: #fff;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  min-width: 32px;\r\n  text-align: center;\r\n}\r\n\r\n.page-nav:disabled, .page-number:disabled {\r\n  color: #d9d9d9;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.page-nav:not(:disabled):hover, \r\n.page-number:not(:disabled):hover {\r\n  border-color: #1890ff;\r\n  color: #1890ff;\r\n}\r\n\r\n.page-number.active {\r\n  background-color: #1890ff;\r\n  color: white;\r\n  border-color: #1890ff;\r\n}\r\n\r\n.ellipsis {\r\n  padding: 0 8px;\r\n}\r\n\r\n.page-info {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  margin-left: 15px;\r\n}\r\n\r\n.page-info input {\r\n  width: 50px;\r\n  padding: 4px;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n  text-align: center;\r\n}\r\n\r\n.page-info input:focus {\r\n  outline: none;\r\n  border-color: #1890ff;\r\n}\r\n\r\n/* 调整表格列宽 */\r\n.uploads-table th:nth-child(1),\r\n.uploads-table td:nth-child(1) {\r\n  width: 30%;\r\n}\r\n\r\n.uploads-table th:nth-child(2),\r\n.uploads-table td:nth-child(2) {\r\n  width: 15%;\r\n}\r\n\r\n.uploads-table th:nth-child(3),\r\n.uploads-table td:nth-child(3) {\r\n  width: 20%;\r\n}\r\n\r\n.uploads-table th:nth-child(4),\r\n.uploads-table td:nth-child(4) {\r\n  width: 15%;\r\n  text-align: center;\r\n}\r\n\r\n.uploads-table th:nth-child(5),\r\n.uploads-table td:nth-child(5) {\r\n  width: 20%;\r\n  text-align: center;\r\n}\r\n\r\n/* 兑换区样式 */\r\n.exchange-section {\r\n  margin-top: 20px;\r\n  padding: 20px;\r\n  background-color: #f9f9f9;\r\n  border-radius: 8px;\r\n}\r\n\r\n.exchange-card {\r\n  margin-bottom: 20px;\r\n  padding: 15px;\r\n  background-color: white;\r\n  border-radius: 6px;\r\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.exchange-card h4 {\r\n  margin-top: 0;\r\n  color: #333;\r\n}\r\n\r\n.exchange-card p {\r\n  color: #666;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.exchange-btn {\r\n  padding: 8px 16px;\r\n  background-color: #1890ff;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  transition: background-color 0.3s;\r\n}\r\n\r\n.exchange-btn:hover {\r\n  background-color: #40a9ff;\r\n}\r\n\r\n.exchange-btn:disabled {\r\n  background-color: #d9d9d9;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.exchange-input-group {\r\n  display: flex;\r\n  gap: 10px;\r\n  margin-top: 10px;\r\n}\r\n\r\n.exchange-input-group input {\r\n  flex: 1;\r\n  padding: 8px;\r\n  border: 1px solid #d9d9d9;\r\n  border-radius: 4px;\r\n}\r\n\r\n.invite-code-list {\r\n  margin-top: 20px;\r\n}\r\n\r\n.invite-code-list ul {\r\n  list-style: none;\r\n  padding: 0;\r\n}\r\n\r\n.invite-code-list li {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  padding: 10px;\r\n  border-bottom: 1px solid #eee;\r\n}\r\n\r\n.invite-code-list .code {\r\n  font-family: monospace;\r\n}\r\n\r\n.invite-code-list .status {\r\n  padding: 2px 6px;\r\n  border-radius: 3px;\r\n  font-size: 12px;\r\n}\r\n\r\n.invite-code-list .status.available {\r\n  background-color: #f6ffed;\r\n  color: #52c41a;\r\n  border: 1px solid #b7eb8f;\r\n}\r\n\r\n.invite-code-list .status.used {\r\n  background-color: #fff2f0;\r\n  color: #ff4d4f;\r\n  border: 1px solid #ffccc7;\r\n}\r\n\r\n\r\n/* personalSubpage.css 中添加以下样式 */\r\n\r\n.setting-section {\r\n  max-width: 600px;\r\n  margin: 0 auto;\r\n  padding: 20px;\r\n}\r\n\r\n.user-info-card, .password-form-card {\r\n  background: #fff;\r\n  border-radius: 8px;\r\n  padding: 20px;\r\n  margin-bottom: 20px;\r\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.info-item {\r\n  display: flex;\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.info-item label {\r\n  font-weight: bold;\r\n  width: 100px;\r\n}\r\n\r\n.info-item span {\r\n  flex: 1;\r\n}\r\n\r\n.info-note {\r\n  color: #666;\r\n  font-size: 0.9em;\r\n  margin-top: 10px;\r\n}\r\n\r\n.form-group {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.form-group label {\r\n  display: block;\r\n  margin-bottom: 5px;\r\n  font-weight: bold;\r\n}\r\n\r\n.form-group input {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.submit-button {\r\n  background-color: #4CAF50;\r\n  color: white;\r\n  padding: 10px 15px;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n  font-size: 16px;\r\n}\r\n\r\n.submit-button:hover {\r\n  background-color: #45a049;\r\n}\r\n\r\n.submit-button:disabled {\r\n  background-color: #cccccc;\r\n  cursor: not-allowed;\r\n}\r\n\r\n.error-message {\r\n  color: #f44336;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.success-message {\r\n  color: #4CAF50;\r\n  margin-bottom: 15px;\r\n}",".administer-container {\r\n  padding: 20px;\r\n  max-width: 1200px;\r\n  margin: 0 auto;\r\n}\r\n\r\n.search-container {\r\n  margin-bottom: 20px;\r\n  display: flex;\r\n  gap: 10px;\r\n}\r\n\r\n.search-input {\r\n  padding: 8px;\r\n  border: 1px solid #ccc;\r\n  border-radius: 4px;\r\n  flex-grow: 1;\r\n  max-width: 300px;\r\n}\r\n\r\n.search-button, .reset-button {\r\n  padding: 8px 16px;\r\n  background-color: #4CAF50;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 4px;\r\n  cursor: pointer;\r\n}\r\n\r\n.reset-button {\r\n  background-color: #f44336;\r\n}\r\n\r\n.error-message {\r\n  color: #f44336;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.loading-message {\r\n  color: #2196F3;\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.user-list-container {\r\n  overflow-x: auto;\r\n}\r\n\r\n.user-table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n}\r\n\r\n.user-table th, .user-table td {\r\n  border: 1px solid #ddd;\r\n  padding: 8px;\r\n  text-align: left;\r\n}\r\n\r\n.user-table th {\r\n  background-color: #f2f2f2;\r\n}\r\n\r\n.user-table tr:nth-child(even) {\r\n  background-color: #f9f9f9;\r\n}\r\n\r\n.user-table tr:hover {\r\n  background-color: #f1f1f1;\r\n}\r\n\r\n.authority-select {\r\n  padding: 5px;\r\n  border-radius: 4px;\r\n  border: 1px solid #ccc;\r\n}\r\n\r\n/* 选项卡样式 */\r\n.tab-container {\r\n  display: flex;\r\n  margin-bottom: 20px;\r\n  border-bottom: 1px solid #ddd;\r\n}\r\n\r\n.tab-button {\r\n  padding: 10px 20px;\r\n  background: none;\r\n  border: none;\r\n  cursor: pointer;\r\n  font-size: 16px;\r\n  border-bottom: 3px solid transparent;\r\n}\r\n\r\n.tab-button.active {\r\n  border-bottom: 3px solid #1890ff;\r\n  color: #1890ff;\r\n}\r\n\r\n/* 折扣卡片样式 */\r\n.current-discount-card {\r\n  background-color: #f5f5f5;\r\n  padding: 15px;\r\n  border-radius: 5px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n/* 折扣表单样式 */\r\n.add-discount-form {\r\n  background-color: #f9f9f9;\r\n  padding: 20px;\r\n  border-radius: 5px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.form-group {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.form-group label {\r\n  display: inline-block;\r\n  width: 100px;\r\n  margin-right: 10px;\r\n}\r\n\r\n/* 折扣表格样式 */\r\n.discount-table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n}\r\n\r\n.discount-table th, .discount-table td {\r\n  padding: 10px;\r\n  border: 1px solid #ddd;\r\n  text-align: left;\r\n}\r\n\r\n.discount-table th {\r\n  background-color: #f2f2f2;\r\n}\r\n\r\n.delete-button {\r\n  background-color: #ff4d4f;\r\n  color: white;\r\n  border: none;\r\n  padding: 5px 10px;\r\n  border-radius: 3px;\r\n  cursor: pointer;\r\n}\r\n\r\n.delete-button:hover {\r\n  background-color: #ff7875;\r\n}\r\n\r\n.react-datepicker {\r\n  font-size: 14px;\r\n}\r\n\r\n.react-datepicker__time-container {\r\n  width: 120px;\r\n}\r\n\r\n.react-datepicker-time__header {\r\n  font-size: 13px;\r\n}\r\n\r\n.time-preview {\r\n  margin: 10px 0;\r\n  padding: 10px;\r\n  background: #f5f5f5;\r\n  border-radius: 4px;\r\n}\r\n\r\n/* 公告表单样式 */\r\n.announcement-form {\r\n  padding: 20px;\r\n  background: #f5f5f5;\r\n  border-radius: 8px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.announcement-form .form-group {\r\n  margin-bottom: 15px;\r\n}\r\n\r\n.announcement-form label {\r\n  display: block;\r\n  margin-bottom: 5px;\r\n  font-weight: bold;\r\n}\r\n\r\n.announcement-form input[type=\"text\"],\r\n.announcement-form textarea {\r\n  width: 100%;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 4px;\r\n}\r\n\r\n.announcement-form textarea {\r\n  min-height: 100px;\r\n}\r\n\r\n/* 公告列表样式 */\r\n.announcement-list-container {\r\n  margin-top: 20px;\r\n}\r\n\r\n.announcement-table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n}\r\n\r\n.announcement-table th,\r\n.announcement-table td {\r\n  padding: 12px;\r\n  text-align: left;\r\n  border-bottom: 1px solid #ddd;\r\n}\r\n\r\n.announcement-table th {\r\n  background-color: #f2f2f2;\r\n  font-weight: bold;\r\n}\r\n\r\n.announcement-table tr:hover {\r\n  background-color: #f9f9f9;\r\n}",".App {\r\n  text-align: center;\r\n}\r\n\r\n.App-logo {\r\n  height: 40vmin;\r\n  pointer-events: none;\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n  .App-logo {\r\n    animation: App-logo-spin infinite 20s linear;\r\n  }\r\n}\r\n\r\n.App-header {\r\n  background-color: #282c34;\r\n  min-height: 10%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: calc(10px + 2vmin);\r\n  color: white;\r\n}\r\n\r\n.App-link {\r\n  color: #61dafb;\r\n}\r\n\r\n@keyframes App-logo-spin {\r\n  from {\r\n    transform: rotate(0deg);\r\n  }\r\n  to {\r\n    transform: rotate(360deg);\r\n  }\r\n}\r\n"],"names":[],"sourceRoot":""}
\ No newline at end of file