TopBar.module.css 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. .topbar {
  2. height: var(--topbar-height);
  3. background: var(--bg-surface);
  4. border-bottom: 1px solid var(--border-light);
  5. display: flex;
  6. align-items: center;
  7. justify-content: space-between;
  8. padding: 0 var(--space-lg);
  9. box-shadow: var(--shadow-sm);
  10. z-index: 10;
  11. }
  12. .title {
  13. display: flex;
  14. align-items: center;
  15. gap: var(--space-md);
  16. flex: 1;
  17. min-width: 0;
  18. }
  19. .title h1 {
  20. font-size: 18px;
  21. font-weight: 600;
  22. color: var(--text-primary);
  23. margin: 0;
  24. white-space: nowrap;
  25. overflow: hidden;
  26. text-overflow: ellipsis;
  27. }
  28. .actions {
  29. display: flex;
  30. gap: var(--space-sm);
  31. align-items: center;
  32. }
  33. .button {
  34. display: inline-flex;
  35. align-items: center;
  36. justify-content: center;
  37. height: 32px;
  38. padding: 0 var(--space-md);
  39. border-radius: var(--radius-md);
  40. font-size: 14px;
  41. font-weight: 500;
  42. cursor: pointer;
  43. transition: all var(--transition-fast);
  44. border: 1px solid transparent;
  45. outline: none;
  46. white-space: nowrap;
  47. }
  48. /* Default Button (Secondary/Ghost) */
  49. .button {
  50. background: var(--bg-surface);
  51. border-color: var(--border-medium);
  52. color: var(--text-secondary);
  53. }
  54. .button:hover:not(:disabled) {
  55. background: var(--bg-surface-hover);
  56. color: var(--text-primary);
  57. border-color: var(--border-medium);
  58. }
  59. .button:active:not(:disabled) {
  60. background: var(--border-light);
  61. }
  62. /* Primary Button */
  63. .button.primary {
  64. background: var(--bg-surface);
  65. color: var(--color-primary);
  66. border-color: var(--color-primary);
  67. }
  68. .button.primary:hover:not(:disabled) {
  69. background: var(--color-primary-hover);
  70. }
  71. .button.primary:active:not(:disabled) {
  72. background: var(--color-primary-active);
  73. }
  74. /* Danger Button */
  75. .button.danger {
  76. background: var(--bg-surface);
  77. color: var(--color-danger);
  78. border-color: var(--color-danger);
  79. }
  80. .button.danger:hover:not(:disabled) {
  81. background: #fef2f2; /* Red 50 */
  82. }
  83. .button.danger:active:not(:disabled) {
  84. background: #fee2e2; /* Red 100 */
  85. }
  86. /* Success Button */
  87. .button.success {
  88. background: var(--bg-surface);
  89. color: var(--color-success);
  90. border-color: var(--color-success);
  91. }
  92. .button.success:hover:not(:disabled) {
  93. background: #ecfdf5; /* Emerald 50 */
  94. }
  95. .button.success:active:not(:disabled) {
  96. background: #d1fae5; /* Emerald 100 */
  97. }
  98. /* Warning Button */
  99. .button.warning {
  100. background: var(--bg-surface);
  101. color: var(--color-warning);
  102. border-color: var(--color-warning);
  103. }
  104. .button.warning:hover:not(:disabled) {
  105. background: #fffbeb; /* Amber 50 */
  106. }
  107. .button.warning:active:not(:disabled) {
  108. background: #fef3c7; /* Amber 100 */
  109. }
  110. .button:disabled {
  111. opacity: 0.5;
  112. cursor: not-allowed;
  113. pointer-events: none;
  114. }
  115. /* Removed old styles */