  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
  }

  body {
      font-family: 'Inter', sans-serif
  }

  .font-jakarta {
      font-family: 'Plus Jakarta Sans', sans-serif
  }

  ::-webkit-scrollbar {
      width: 6px;
      height: 6px
  }

  ::-webkit-scrollbar-track {
      background: transparent
  }

  ::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 3px
  }

  .dark ::-webkit-scrollbar-thumb {
      background: #475569
  }

  .sidebar-scroll::-webkit-scrollbar {
      width: 4px
  }

  .sidebar-scroll::-webkit-scrollbar-thumb {
      background: rgba(148, 163, 184, .3);
      border-radius: 2px
  }

  .glass {
      background: rgba(255, 255, 255, .7);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px)
  }

  .dark .glass {
      background: rgba(15, 23, 42, .7)
  }

  .glass-card {
      background: rgba(255, 255, 255, .8);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(226, 232, 240, .8)
  }

  .dark .glass-card {
      background: rgba(30, 41, 59, .8);
      border: 1px solid rgba(51, 65, 85, .6)
  }

  @keyframes fadeInUp {
      from {
          opacity: 0;
          transform: translateY(20px)
      }

      to {
          opacity: 1;
          transform: translateY(0)
      }
  }

  @keyframes pulse-soft {

      0%,
      100% {
          opacity: 1
      }

      50% {
          opacity: .7
      }
  }

  .animate-fadeInUp {
      animation: fadeInUp .5s ease-out forwards
  }

  .stagger-1 {
      animation-delay: .05s
  }

  .stagger-2 {
      animation-delay: .1s
  }

  .stagger-3 {
      animation-delay: .15s
  }

  .stagger-4 {
      animation-delay: .2s
  }

  .hover-lift {
      transition: all .3s cubic-bezier(.4, 0, .2, 1)
  }

  .hover-lift:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0, 0, 0, .12)
  }

  .dark .hover-lift:hover {
      box-shadow: 0 12px 40px rgba(0, 0, 0, .4)
  }

  .gradient-text {
      background: linear-gradient(135deg, #6366f1, #8b5cf6, #a78bfa);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text
  }

  .nav-active {
      background: linear-gradient(135deg, rgba(99, 102, 241, .12), rgba(139, 92, 246, .08));
      border-right: 3px solid #6366f1;
      color: #6366f1
  }

  .dark .nav-active {
      background: linear-gradient(135deg, rgba(99, 102, 241, .2), rgba(139, 92, 246, .12));
      color: #818cf8;
      border-color: #818cf8
  }

  .notification-dot {
      position: absolute;
      top: -2px;
      right: -2px;
      width: 10px;
      height: 10px;
      background: #ef4444;
      border-radius: 50%;
      border: 2px solid #fff;
      animation: pulse-soft 2s infinite
  }

  .dark .notification-dot {
      border-color: #0f172a
  }

  .dropdown-enter {
      opacity: 0;
      transform: translateY(-8px) scale(.96);
      transition: all .2s cubic-bezier(.4, 0, .2, 1);
      pointer-events: none
  }

  .dropdown-enter.active {
      opacity: 1;
      transform: translateY(0) scale(1);
      pointer-events: auto
  }

  .sidebar-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .5);
      z-index: 40;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease
  }

  .sidebar-overlay.active {
      opacity: 1;
      pointer-events: auto
  }

  .kpi-gradient-1 {
      background: linear-gradient(135deg, #6366f1, #8b5cf6)
  }

  .kpi-gradient-2 {
      background: linear-gradient(135deg, #06b6d4, #3b82f6)
  }

  .kpi-gradient-3 {
      background: linear-gradient(135deg, #10b981, #059669)
  }

  .kpi-gradient-4 {
      background: linear-gradient(135deg, #f59e0b, #ef4444)
  }

  .chart-container {
      position: relative;
      width: 100%;
      min-height: 280px
  }

  @media(max-width:640px) {
      .chart-container {
          min-height: 220px
      }
  }

  .table-row-hover {
      transition: background .15s ease
  }

  .table-row-hover:hover {
      background: rgba(99, 102, 241, .04)
  }

  .dark .table-row-hover:hover {
      background: rgba(99, 102, 241, .08)
  }

  .badge-success {
      background: #ecfdf5;
      color: #059669
  }

  .dark .badge-success {
      background: rgba(16, 185, 129, .15);
      color: #34d399
  }

  .badge-warning {
      background: #fffbeb;
      color: #d97706
  }

  .dark .badge-warning {
      background: rgba(245, 158, 11, .15);
      color: #fbbf24
  }

  .badge-danger {
      background: #fef2f2;
      color: #dc2626
  }

  .dark .badge-danger {
      background: rgba(239, 68, 68, .15);
      color: #f87171
  }

  .badge-info {
      background: #eff6ff;
      color: #2563eb
  }

  .dark .badge-info {
      background: rgba(59, 130, 246, .15);
      color: #60a5fa
  }

  .badge-purple {
      background: #f5f3ff;
      color: #7c3aed
  }

  .dark .badge-purple {
      background: rgba(124, 58, 237, .15);
      color: #a78bfa
  }

  .modal-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .6);
      backdrop-filter: blur(4px);
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease;
      padding: 16px
  }

  .modal-backdrop.active {
      opacity: 1;
      pointer-events: auto
  }

  .modal-content {
      background: #fff;
      border-radius: 16px;
      padding: 24px;
      max-width: 560px;
      width: 100%;
      max-height: calc(100vh - 32px);
      overflow-y: auto;
      transform: scale(.95) translateY(10px);
      transition: transform .3s ease
  }

  .modal-backdrop.active .modal-content {
      transform: scale(1) translateY(0)
  }

  .dark .modal-content {
      background: #1e293b
  }

  .live-indicator {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #10b981;
      animation: pulse-soft 1.5s infinite
  }

  /* Integrations-specific */
  .integration-card {
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      cursor: pointer;
      position: relative;
      overflow: hidden;
  }

  .integration-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(0, 0, 0, .12)
  }

  .dark .integration-card:hover {
      box-shadow: 0 20px 50px rgba(0, 0, 0, .45)
  }

  .integration-card.connected::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, #10b981, #059669);
  }

  .integration-logo {
      width: 56px;
      height: 56px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 800;
      font-size: 20px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
      flex-shrink: 0;
  }

  .logo-slack {
      background: linear-gradient(135deg, #4a154b, #611f68)
  }

  .logo-google {
      background: linear-gradient(135deg, #4285f4, #34a853)
  }

  .logo-stripe {
      background: linear-gradient(135deg, #635bff, #7a70ff)
  }

  .logo-hubspot {
      background: linear-gradient(135deg, #ff7a59, #ff9776)
  }

  .logo-salesforce {
      background: linear-gradient(135deg, #00a1e0, #0080b8)
  }

  .logo-zapier {
      background: linear-gradient(135deg, #ff4a00, #ff6b35)
  }

  .logo-mailchimp {
      background: linear-gradient(135deg, #ffe01b, #ffb400);
      color: #000
  }

  .logo-github {
      background: linear-gradient(135deg, #24292f, #000)
  }

  .logo-notion {
      background: linear-gradient(135deg, #f7f7f7, #e5e5e5);
      color: #000
  }

  .dark .logo-notion {
      background: linear-gradient(135deg, #37373f, #191919);
      color: #fff
  }

  .logo-figma {
      background: linear-gradient(135deg, #f24e1e, #ff7262)
  }

  .logo-jira {
      background: linear-gradient(135deg, #0052cc, #2684ff)
  }

  .logo-shopify {
      background: linear-gradient(135deg, #95bf47, #5e8e3e)
  }

  .logo-twilio {
      background: linear-gradient(135deg, #f22f46, #e02638)
  }

  .logo-aws {
      background: linear-gradient(135deg, #232f3e, #ff9900);
      color: #fff
  }

  .logo-google-drive {
      background: linear-gradient(135deg, #0f9d58, #4285f4)
  }

  .logo-zoom {
      background: linear-gradient(135deg, #2d8cff, #0e71eb)
  }

  .logo-dropbox {
      background: linear-gradient(135deg, #0061ff, #0044cc)
  }

  .logo-intercom {
      background: linear-gradient(135deg, #286efa, #0057ff)
  }

  .logo-typeform {
      background: linear-gradient(135deg, #262627, #000)
  }

  .logo-webhook {
      background: linear-gradient(135deg, #6366f1, #8b5cf6)
  }

  .category-pill {
      padding: 6px 14px;
      border-radius: 9999px;
      font-size: 12px;
      font-weight: 600;
      transition: all .2s ease;
      cursor: pointer;
      white-space: nowrap;
  }

  .category-pill.active {
      background: #6366f1;
      color: #fff;
      box-shadow: 0 4px 12px rgba(99, 102, 241, .3)
  }

  .category-pill:not(.active) {
      background: #f1f5f9;
      color: #475569
  }

  .dark .category-pill:not(.active) {
      background: #1e293b;
      color: #94a3b8
  }

  .category-pill:not(.active):hover {
      background: #e0e7ff;
      color: #4f46e5
  }

  .dark .category-pill:not(.active):hover {
      background: #312e81;
      color: #a5b4fc
  }

  .status-dot-lg {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
      box-shadow: 0 0 0 3px rgba(255, 255, 255, .9);
  }

  .dark .status-dot-lg {
      box-shadow: 0 0 0 3px rgba(15, 23, 42, .9)
  }

  .status-active {
      background: #10b981;
      box-shadow: 0 0 0 3px rgba(16, 185, 129, .2)
  }

  .status-syncing {
      background: #3b82f6;
      animation: pulse-soft 1.5s infinite
  }

  .status-error {
      background: #ef4444;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, .2)
  }

  .status-inactive {
      background: #94a3b8
  }

  .toggle-switch {
      position: relative;
      width: 36px;
      height: 20px;
      background: #cbd5e1;
      border-radius: 9999px;
      cursor: pointer;
      transition: background .2s;
      flex-shrink: 0;
  }

  .dark .toggle-switch {
      background: #475569
  }

  .toggle-switch::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: 16px;
      height: 16px;
      background: #fff;
      border-radius: 50%;
      transition: transform .2s;
      box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  }

  .toggle-switch.on {
      background: #6366f1
  }

  .toggle-switch.on::after {
      transform: translateX(16px)
  }

  .webhook-code {
      font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
      background: #0f172a;
      color: #a5b4fc;
      padding: 12px;
      border-radius: 8px;
      font-size: 11px;
      overflow-x: auto;
      white-space: pre;
  }

  .api-key-mask {
      font-family: 'SF Mono', monospace;
      letter-spacing: 2px;
  }

  .marketplace-card {
      transition: all .25s ease;
      cursor: pointer;
  }

  .marketplace-card:hover {
      background: rgba(99, 102, 241, .04)
  }

  .dark .marketplace-card:hover {
      background: rgba(99, 102, 241, .08)
  }

  .sync-status {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 3px 10px;
      border-radius: 9999px;
      font-size: 11px;
      font-weight: 600;
  }

  .ss-synced {
      background: #ecfdf5;
      color: #059669
  }

  .dark .ss-synced {
      background: rgba(16, 185, 129, .15);
      color: #34d399
  }

  .ss-syncing {
      background: #eff6ff;
      color: #2563eb
  }

  .dark .ss-syncing {
      background: rgba(59, 130, 246, .15);
      color: #60a5fa
  }

  .ss-error {
      background: #fef2f2;
      color: #dc2626
  }

  .dark .ss-error {
      background: rgba(239, 68, 68, .15);
      color: #f87171
  }

  .ss-off {
      background: #f1f5f9;
      color: #64748b
  }

  .dark .ss-off {
      background: rgba(71, 85, 105, .2);
      color: #94a3b8
  }