index.styl 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. // Admin Settings styles
  2. .admin-settings
  3. display: flex
  4. flex-direction: column
  5. gap: 1.5rem
  6. .admin-settings__header
  7. border-bottom: 1px solid $gray-200
  8. padding-bottom: 1.5rem
  9. .dark &
  10. border-bottom-color: $gray-700
  11. .admin-settings__title
  12. font-size: 1.875rem
  13. font-weight: bold
  14. color: $gray-900
  15. margin-bottom: 0.5rem
  16. .dark &
  17. color: $white
  18. .admin-settings__subtitle
  19. color: $gray-600
  20. font-size: 1.125rem
  21. .dark &
  22. color: $gray-400
  23. .admin-settings__content
  24. background-color: $white
  25. border-radius: 0.5rem
  26. box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)
  27. .dark &
  28. background-color: $gray-800
  29. .admin-settings__tabs
  30. border-bottom: 1px solid $gray-200
  31. display: flex
  32. gap: 2rem
  33. padding: 0 1.5rem
  34. .dark &
  35. border-bottom-color: $gray-700
  36. .admin-settings__tab
  37. padding: 1rem 0.25rem
  38. border-bottom: 2px solid transparent
  39. font-size: 0.875rem
  40. font-weight: 500
  41. transition: all 0.2s ease-in-out
  42. cursor: pointer
  43. border: none
  44. background: none
  45. color: $gray-500
  46. &:hover
  47. color: $gray-700
  48. border-bottom-color: $gray-300
  49. .dark &
  50. color: $gray-300
  51. border-bottom-color: $gray-600
  52. .admin-settings__tab--active
  53. border-bottom-color: $primary-500
  54. color: $primary-600
  55. .dark &
  56. color: $primary-400
  57. &:hover
  58. border-bottom-color: $primary-500
  59. color: $primary-600
  60. .dark &
  61. color: $primary-400
  62. .admin-settings__tab--inactive
  63. border-bottom-color: transparent
  64. .admin-settings__tab-content
  65. padding: 1.5rem
  66. .admin-settings__section
  67. margin-bottom: 2rem
  68. &:last-child
  69. margin-bottom: 0
  70. .admin-settings__section-title
  71. font-size: 1.125rem
  72. font-weight: 500
  73. color: $gray-900
  74. margin-bottom: 0.5rem
  75. .dark &
  76. color: $white
  77. .admin-settings__section-description
  78. color: $gray-600
  79. margin-bottom: 1rem
  80. .dark &
  81. color: $gray-400
  82. // Domains list
  83. .admin-settings__domains-list
  84. display: flex
  85. flex-direction: column
  86. gap: 1rem
  87. margin-bottom: 1.5rem
  88. .admin-settings__domain-item
  89. display: flex
  90. align-items: center
  91. justify-content: space-between
  92. padding: 1rem
  93. border: 1px solid $gray-200
  94. border-radius: 0.5rem
  95. .dark &
  96. border-color: $gray-700
  97. .admin-settings__domain-info
  98. flex: 1
  99. .admin-settings__domain-name
  100. font-weight: 500
  101. color: $gray-900
  102. margin-bottom: 0.25rem
  103. .dark &
  104. color: $white
  105. .admin-settings__domain-desc
  106. color: $gray-600
  107. font-size: 0.875rem
  108. .dark &
  109. color: $gray-400
  110. .admin-settings__domain-actions
  111. display: flex
  112. gap: 0.5rem
  113. // Languages list
  114. .admin-settings__languages-list
  115. display: grid
  116. grid-template-columns: 1fr
  117. gap: 1rem
  118. @media (min-width: 768px)
  119. grid-template-columns: repeat(2, 1fr)
  120. .admin-settings__language-item
  121. display: flex
  122. align-items: center
  123. justify-content: space-between
  124. padding: 1rem
  125. border: 1px solid $gray-200
  126. border-radius: 0.5rem
  127. .dark &
  128. border-color: $gray-700
  129. .admin-settings__language-info
  130. display: flex
  131. align-items: center
  132. gap: 0.75rem
  133. .admin-settings__language-code
  134. background-color: $gray-100
  135. padding: 0.25rem 0.5rem
  136. border-radius: 0.25rem
  137. font-size: 0.75rem
  138. font-weight: 500
  139. .dark &
  140. background-color: $gray-700
  141. .admin-settings__language-name
  142. color: $gray-700
  143. .dark &
  144. color: $gray-300
  145. .admin-settings__language-btn
  146. padding: 0.25rem 0.75rem
  147. border-radius: 0.25rem
  148. font-size: 0.75rem
  149. font-weight: 500
  150. transition: all 0.2s ease-in-out
  151. border: none
  152. cursor: pointer
  153. .admin-settings__language-btn--enabled
  154. background-color: #fef2f2
  155. color: #dc2626
  156. &:hover
  157. background-color: #fee2e2
  158. .dark &
  159. background-color: #7f1d1d
  160. color: #fca5a5
  161. &:hover
  162. background-color: #991b1b
  163. .admin-settings__language-btn--disabled
  164. background-color: #f0fdf4
  165. color: #16a34a
  166. &:hover
  167. background-color: #dcfce7
  168. .dark &
  169. background-color: #14532d
  170. color: #4ade80
  171. &:hover
  172. background-color: #166534
  173. // Form styles
  174. .admin-settings__form
  175. max-width: 28rem
  176. display: flex
  177. flex-direction: column
  178. gap: 1rem
  179. .admin-settings__form-group
  180. display: flex
  181. flex-direction: column
  182. gap: 0.5rem
  183. .admin-settings__label
  184. display: block
  185. font-size: 0.875rem
  186. font-weight: 500
  187. color: $gray-700
  188. .dark &
  189. color: $gray-300
  190. .admin-settings__input
  191. width: 100%
  192. padding: 0.5rem 0.75rem
  193. border: 1px solid $gray-300
  194. border-radius: 0.5rem
  195. background-color: $white
  196. color: $gray-900
  197. font-size: 0.875rem
  198. transition: all 0.2s ease-in-out
  199. &:focus
  200. outline: none
  201. border-color: $primary-500
  202. // Fixed: Use rgba with actual RGB values instead of variable
  203. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  204. .dark &
  205. background-color: $gray-700
  206. color: $white
  207. border-color: $gray-600
  208. &:focus
  209. border-color: $primary-500
  210. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  211. .admin-settings__select
  212. width: 100%
  213. padding: 0.5rem 0.75rem
  214. border: 1px solid $gray-300
  215. border-radius: 0.5rem
  216. background-color: $white
  217. color: $gray-900
  218. font-size: 0.875rem
  219. transition: all 0.2s ease-in-out
  220. &:focus
  221. outline: none
  222. border-color: $primary-500
  223. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  224. .dark &
  225. background-color: $gray-700
  226. color: $white
  227. border-color: $gray-600
  228. &:focus
  229. border-color: $primary-500
  230. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  231. .admin-settings__checkbox-group
  232. display: flex
  233. flex-direction: column
  234. gap: 0.5rem
  235. .admin-settings__checkbox-label
  236. display: flex
  237. align-items: center
  238. gap: 0.5rem
  239. color: $gray-700
  240. font-size: 0.875rem
  241. .dark &
  242. color: $gray-300
  243. .admin-settings__checkbox
  244. border-radius: 0.25rem
  245. border: 1px solid $gray-300
  246. background-color: $white
  247. color: $primary-600
  248. &:focus
  249. border-color: $primary-500
  250. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  251. .dark &
  252. background-color: $gray-700
  253. border-color: $gray-600
  254. // Button styles
  255. .admin-settings__btn
  256. padding: 0.5rem 1rem
  257. border-radius: 0.5rem
  258. font-weight: 500
  259. font-size: 0.875rem
  260. transition: all 0.2s ease-in-out
  261. border: none
  262. cursor: pointer
  263. text-decoration: none
  264. display: inline-flex
  265. align-items: center
  266. justify-content: center
  267. &:focus
  268. outline: none
  269. box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2)
  270. .admin-settings__btn--primary
  271. background-color: $primary-600
  272. color: $white
  273. &:hover
  274. background-color: $primary-700
  275. .admin-settings__btn--secondary
  276. background-color: $gray-200
  277. color: $gray-700
  278. &:hover
  279. background-color: $gray-300
  280. .dark &
  281. background-color: $gray-700
  282. color: $gray-300
  283. &:hover
  284. background-color: $gray-600
  285. .admin-settings__btn--danger
  286. background-color: #dc2626
  287. color: $white
  288. &:hover
  289. background-color: #b91c1c
  290. // Modal styles
  291. .admin-settings__modal
  292. position: fixed
  293. inset: 0
  294. background-color: rgba(0, 0, 0, 0.5)
  295. display: flex
  296. align-items: center
  297. justify-content: center
  298. z-index: 50
  299. .admin-settings__modal-content
  300. background-color: $white
  301. border-radius: 0.5rem
  302. padding: 1.5rem
  303. max-width: 28rem
  304. width: 100%
  305. margin: 0 1rem
  306. .dark &
  307. background-color: $gray-800
  308. .admin-settings__modal-title
  309. font-size: 1.125rem
  310. font-weight: 500
  311. color: $gray-900
  312. margin-bottom: 1rem
  313. .dark &
  314. color: $white
  315. .admin-settings__modal-form
  316. display: flex
  317. flex-direction: column
  318. gap: 1rem
  319. margin-bottom: 1.5rem
  320. .admin-settings__modal-actions
  321. display: flex
  322. gap: 0.75rem
  323. justify-content: flex-end
  324. // Responsive adjustments
  325. @media (max-width: 768px)
  326. .admin-settings__tabs
  327. gap: 1rem
  328. padding: 0 1rem
  329. .admin-settings__tab-content
  330. padding: 1rem
  331. .admin-settings__domain-item
  332. flex-direction: column
  333. align-items: flex-start
  334. gap: 1rem
  335. .admin-settings__domain-actions
  336. width: 100%
  337. justify-content: flex-end
  338. .admin-settings__language-item
  339. flex-direction: column
  340. align-items: flex-start
  341. gap: 1rem
  342. .admin-settings__modal-content
  343. margin: 0 0.5rem
  344. padding: 1rem