  * {
      scrollbar-width: thin;
      scrollbar-color: #94a3b8 transparent
  }

  ::-webkit-scrollbar {
      width: 6px;
      height: 6px
  }

  ::-webkit-scrollbar-track {
      background: transparent
  }

  ::-webkit-scrollbar-thumb {
      background: #94a3b8;
      border-radius: 3px
  }

  .dark ::-webkit-scrollbar-thumb {
      background: #475569
  }

  body {
      font-family: 'Inter', sans-serif
  }

  .font-jakarta {
      font-family: 'Plus Jakarta Sans', sans-serif
  }

  .sidebar-link {
      transition: all .2s ease
  }

  .sidebar-link:hover {
      background: rgba(59, 130, 246, 0.08)
  }

  .sidebar-link.active {
      background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.08));
      color: #3b82f6;
      border-right: 3px solid #3b82f6
  }

  .dark .sidebar-link:hover {
      background: rgba(59, 130, 246, 0.15)
  }

  .dark .sidebar-link.active {
      background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(59, 130, 246, 0.1))
  }

  .status-badge {
      font-size: .7rem;
      padding: .2rem .6rem;
      border-radius: 9999px;
      font-weight: 600;
      white-space: nowrap
  }

  .toast-enter {
      animation: toastIn .4s ease
  }

  .toast-exit {
      animation: toastOut .3s ease forwards
  }

  @keyframes toastIn {
      from {
          transform: translateX(100%);
          opacity: 0
      }

      to {
          transform: translateX(0);
          opacity: 1
      }
  }

  @keyframes toastOut {
      from {
          transform: translateX(0);
          opacity: 1
      }

      to {
          transform: translateX(100%);
          opacity: 0
      }
  }

  @keyframes fadeInUp {
      from {
          opacity: 0;
          transform: translateY(16px)
      }

      to {
          opacity: 1;
          transform: translateY(0)
      }
  }

  .fade-in-up {
      animation: fadeInUp .5s ease forwards
  }

  .dropdown-panel {
      transform: scale(.95);
      opacity: 0;
      pointer-events: none;
      transition: all .2s ease
  }

  .dropdown-panel.open {
      transform: scale(1);
      opacity: 1;
      pointer-events: auto
  }

  .modal-overlay {
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease
  }

  .modal-overlay.open {
      opacity: 1;
      pointer-events: auto
  }

  .modal-content {
      transform: scale(.95) translateY(10px);
      transition: transform .3s ease
  }

  .modal-overlay.open .modal-content {
      transform: scale(1) translateY(0)
  }

  @media(max-width:1023px) {
      .sidebar {
          transform: translateX(-100%);
          transition: transform .3s ease
      }

      .sidebar.open {
          transform: translateX(0)
      }
  }

  .overlay {
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease
  }

  .overlay.open {
      opacity: 1;
      pointer-events: auto
  }

  .action-btn {
      transition: all .15s ease;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center
  }

  .action-btn:hover {
      transform: scale(1.1)
  }

  .settings-nav-item {
      transition: all .2s ease;
      cursor: pointer
  }

  .settings-nav-item.active {
      background: linear-gradient(135deg, rgba(59, 130, 246, .12), rgba(59, 130, 246, .06));
      color: #3b82f6;
      font-weight: 600
  }

  .dark .settings-nav-item.active {
      background: linear-gradient(135deg, rgba(59, 130, 246, .2), rgba(59, 130, 246, .1));
      color: #60a5fa
  }

  .settings-nav-item:not(.active):hover {
      background: rgba(59, 130, 246, .05)
  }

  .dark .settings-nav-item:not(.active):hover {
      background: rgba(59, 130, 246, .1)
  }

  .toggle-switch {
      width: 44px;
      height: 24px;
      background: #cbd5e1;
      border-radius: 9999px;
      position: relative;
      cursor: pointer;
      transition: all .25s ease;
      flex-shrink: 0
  }

  .dark .toggle-switch {
      background: #475569
  }

  .toggle-switch.active {
      background: #3b82f6
  }

  .toggle-switch::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: 20px;
      height: 20px;
      background: white;
      border-radius: 50%;
      transition: all .25s ease;
      box-shadow: 0 2px 6px rgba(0, 0, 0, .25)
  }

  .toggle-switch.active::after {
      left: 22px
  }

  .theme-option {
      transition: all .2s ease;
      cursor: pointer;
      border: 2px solid transparent
  }

  .theme-option.selected {
      border-color: #3b82f6;
      box-shadow: 0 0 0 4px rgba(59, 130, 246, .12)
  }

  .color-swatch {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      cursor: pointer;
      transition: all .2s ease;
      border: 3px solid transparent
  }

  .color-swatch:hover {
      transform: scale(1.12)
  }

  .color-swatch.selected {
      border-color: white;
      box-shadow: 0 0 0 3px #3b82f6
  }

  .dark .color-swatch.selected {
      border-color: #1e293b
  }

  .integration-card {
      transition: all .3s ease
  }

  .integration-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 28px -10px rgba(0, 0, 0, .14)
  }

  .role-badge {
      background: linear-gradient(135deg, #3b82f6, #6366f1)
  }

  .plan-card {
      transition: all .3s ease;
      border: 2px solid transparent
  }

  .plan-card.current {
      border-color: #3b82f6;
      box-shadow: 0 0 0 4px rgba(59, 130, 246, .1)
  }

  .setting-row {
      transition: background .2s ease
  }

  .setting-row:hover {
      background: rgba(59, 130, 246, .03)
  }

  .dark .setting-row:hover {
      background: rgba(59, 130, 246, .06)
  }

  .danger-zone {
      border: 2px dashed #fca5a5
  }

  .dark .danger-zone {
      border-color: #7f1d1d
  }

  @media(prefers-reduced-motion:reduce) {

      *,
      *::before,
      *::after {
          animation-duration: .01ms !important;
          transition-duration: .01ms !important
      }
  }