subjects.css 4.2 KB

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