subjects.css 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. .subjects-container {
  2. max-width: 800px;
  3. margin: 0 auto;
  4. padding: 0;
  5. }
  6. .add-subject-section {
  7. background: linear-gradient(135deg, rgba(140, 35, 30, 0.1), rgba(255, 255, 255, 0.02));
  8. border: 1px solid rgba(255, 255, 255, 0.1);
  9. border-radius: 16px;
  10. padding: 30px;
  11. margin-bottom: 40px;
  12. }
  13. .subjects-list-section {
  14. background: rgba(255, 255, 255, 0.02);
  15. border: 1px solid rgba(255, 255, 255, 0.1);
  16. border-radius: 16px;
  17. padding: 30px;
  18. }
  19. .section-title {
  20. font-size: 24px;
  21. font-weight: 600;
  22. color: #ffffff;
  23. margin-bottom: 24px;
  24. text-align: center;
  25. }
  26. .subject-form {
  27. display: flex;
  28. flex-direction: column;
  29. gap: 20px;
  30. max-width: 400px;
  31. margin: 0 auto;
  32. }
  33. .form-group {
  34. display: flex;
  35. flex-direction: column;
  36. gap: 8px;
  37. }
  38. .form-input {
  39. background: rgba(255, 255, 255, 0.05);
  40. border: 1px solid rgba(255, 255, 255, 0.1);
  41. border-radius: 8px;
  42. padding: 12px 16px;
  43. font-size: 14px;
  44. color: #ffffff;
  45. font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  46. transition: all 0.3s ease;
  47. }
  48. .form-input::placeholder {
  49. color: #888;
  50. }
  51. .form-input:focus {
  52. outline: none;
  53. border-color: rgba(140, 35, 30, 0.5);
  54. background: rgba(255, 255, 255, 0.08);
  55. box-shadow: 0 0 0 2px rgba(140, 35, 30, 0.2);
  56. }
  57. .form-input:hover {
  58. border-color: rgba(255, 255, 255, 0.2);
  59. background: rgba(255, 255, 255, 0.08);
  60. }
  61. .btn-primary {
  62. background: linear-gradient(135deg, #8C231E, #a52a24);
  63. color: white;
  64. border: none;
  65. border-radius: 8px;
  66. padding: 12px 24px;
  67. font-size: 14px;
  68. font-weight: 600;
  69. cursor: pointer;
  70. transition: all 0.3s ease;
  71. font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  72. }
  73. .btn-primary:hover {
  74. background: linear-gradient(135deg, #a52a24, #8C231E);
  75. transform: translateY(-2px);
  76. box-shadow: 0 4px 15px rgba(140, 35, 30, 0.4);
  77. }
  78. .btn-primary:active {
  79. transform: translateY(0);
  80. }
  81. .form-actions {
  82. display: flex;
  83. flex-direction: column;
  84. gap: 12px;
  85. align-items: center;
  86. }
  87. .error-message {
  88. color: #ff6b6b;
  89. font-size: 13px;
  90. font-weight: 500;
  91. background: rgba(255, 107, 107, 0.1);
  92. border: 1px solid rgba(255, 107, 107, 0.2);
  93. border-radius: 6px;
  94. padding: 8px 12px;
  95. text-align: center;
  96. }
  97. .empty-state {
  98. text-align: center;
  99. padding: 40px 20px;
  100. }
  101. .empty-message {
  102. color: #888;
  103. font-size: 16px;
  104. font-style: italic;
  105. }
  106. .subjects-grid {
  107. display: grid;
  108. grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  109. gap: 16px;
  110. margin-top: 20px;
  111. }
  112. .subject-card {
  113. background: rgba(255, 255, 255, 0.05);
  114. border: 1px solid rgba(255, 255, 255, 0.1);
  115. border-radius: 12px;
  116. transition: all 0.3s ease;
  117. overflow: hidden;
  118. display: flex;
  119. align-items: center;
  120. justify-content: center;
  121. }
  122. .subject-card:hover {
  123. transform: translateY(-4px);
  124. box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
  125. border-color: rgba(140, 35, 30, 0.3);
  126. background: rgba(255, 255, 255, 0.08);
  127. }
  128. .subject-link {
  129. display: flex;
  130. align-items: center;
  131. justify-content: center;
  132. padding: 20px;
  133. text-decoration: none;
  134. color: inherit;
  135. width: 100%;
  136. height: 100%;
  137. gap: 12px;
  138. }
  139. .subject-name {
  140. font-size: 18px;
  141. font-weight: 600;
  142. color: #ffffff;
  143. margin: 0;
  144. flex: 1;
  145. text-align: center;
  146. }
  147. .subject-arrow {
  148. color: #888;
  149. font-size: 20px;
  150. font-weight: bold;
  151. transition: all 0.3s ease;
  152. opacity: 0.6;
  153. }
  154. .subject-card:hover .subject-arrow {
  155. color: #8C231E;
  156. opacity: 1;
  157. transform: translateX(4px);
  158. }
  159. @media (max-width: 768px) {
  160. .subjects-container {
  161. padding: 0 15px;
  162. }
  163. .add-subject-section,
  164. .subjects-list-section {
  165. padding: 20px;
  166. margin-bottom: 24px;
  167. }
  168. .section-title {
  169. font-size: 20px;
  170. margin-bottom: 20px;
  171. }
  172. .subject-form {
  173. max-width: 100%;
  174. }
  175. .subjects-grid {
  176. grid-template-columns: 1fr;
  177. gap: 12px;
  178. }
  179. .subject-card {
  180. border-radius: 8px;
  181. }
  182. .subject-link {
  183. padding: 16px;
  184. }
  185. .subject-name {
  186. font-size: 16px;
  187. }
  188. }
  189. .subjects-container {
  190. animation: fadeIn 0.6s ease-in;
  191. }
  192. @keyframes fadeIn {
  193. from {
  194. opacity: 0;
  195. transform: translateY(20px);
  196. }
  197. to {
  198. opacity: 1;
  199. transform: translateY(0);
  200. }
  201. }