index.styl 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. .admin-layout
  2. display: flex
  3. min-height: 100vh
  4. background: var(--color-light-10)
  5. .admin-sidebar
  6. width: 280px
  7. background: var(--color-white)
  8. box-shadow: var(--shadow-md)
  9. border-right: 1px solid var(--border-color)
  10. display: flex
  11. flex-direction: column
  12. .theme-dark &
  13. background: var(--color-dark)
  14. color: var(--color-light)
  15. .admin-sidebar__header
  16. padding: var(--spacing-xl)
  17. border-bottom: 1px solid var(--border-color)
  18. h2
  19. font-size: var(--font-size-lg)
  20. font-weight: var(--font-weight-bold)
  21. margin-bottom: var(--spacing-xs)
  22. color: var(--color-primary)
  23. p
  24. font-size: var(--font-size-sm)
  25. color: var(--color-secondary)
  26. .admin-nav__list
  27. list-style: none
  28. padding: var(--spacing-md) 0
  29. flex: 1
  30. .admin-nav__item
  31. margin-bottom: var(--spacing-xs)
  32. .admin-nav__link
  33. display: block
  34. padding: var(--spacing-md) var(--spacing-xl)
  35. text-decoration: none
  36. color: var(--color-dark)
  37. transition: var(--transition-fast)
  38. border-left: 3px solid transparent
  39. &:hover, &.router-link-active
  40. background: var(--color-primary-10)
  41. border-left-color: var(--color-primary)
  42. color: var(--color-primary)
  43. .theme-dark &
  44. color: var(--color-light)
  45. &:hover, &.router-link-active
  46. background: var(--color-primary-20)
  47. color: var(--color-light)
  48. .admin-main
  49. flex: 1
  50. display: flex
  51. flex-direction: column
  52. .admin-header
  53. background: var(--color-white)
  54. padding: var(--spacing-lg) var(--spacing-xl)
  55. border-bottom: 1px solid var(--border-color)
  56. display: flex
  57. justify-content: space-between
  58. align-items: center
  59. .theme-dark &
  60. background: var(--color-dark)
  61. color: var(--color-light)
  62. .admin-header__user
  63. display: flex
  64. align-items: center
  65. gap: var(--spacing-md)
  66. .admin-header__breadcrumbs
  67. color: var(--color-secondary)
  68. font-size: var(--font-size-sm)
  69. a
  70. color: var(--color-primary)
  71. text-decoration: none
  72. &:hover
  73. text-decoration: underline
  74. .admin-content
  75. flex: 1
  76. padding: var(--spacing-xl)
  77. overflow-y: auto
  78. // Адаптивность
  79. @media (max-width: 768px)
  80. .admin-layout
  81. flex-direction: column
  82. .admin-sidebar
  83. width: 100%
  84. height: auto
  85. .admin-nav__list
  86. display: flex
  87. overflow-x: auto
  88. padding: var(--spacing-sm)
  89. .admin-nav__item
  90. margin-bottom: 0
  91. margin-right: var(--spacing-sm)
  92. .admin-nav__link
  93. white-space: nowrap
  94. border-left: none
  95. border-bottom: 3px solid transparent
  96. &:hover, &.router-link-active
  97. border-left: none
  98. border-bottom-color: var(--color-primary)
  99. .admin-header
  100. flex-direction: column
  101. gap: var(--spacing-md)
  102. align-items: flex-start