  * {
      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
  }

  .badge-gray {
      background: #f1f5f9;
      color: #475569
  }

  .dark .badge-gray {
      background: rgba(71, 85, 105, .2);
      color: #94a3b8
  }

  .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: 640px;
      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
  }

  /* Campaigns-specific */
  .campaign-card {
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      cursor: pointer;
      position: relative;
      overflow: hidden
  }

  .campaign-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(0, 0, 0, .12)
  }

  .dark .campaign-card:hover {
      box-shadow: 0 20px 50px rgba(0, 0, 0, .45)
  }

  .campaign-cover {
      aspect-ratio: 16/9;
      position: relative;
      overflow: hidden
  }

  .campaign-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .5s ease
  }

  .campaign-card:hover .campaign-cover img {
      transform: scale(1.05)
  }

  .campaign-cover::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .7))
  }

  .campaign-cover .cover-badge {
      position: absolute;
      top: 12px;
      left: 12px;
      z-index: 2
  }

  .campaign-cover .cover-menu {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 2
  }

  .campaign-cover .cover-info {
      position: absolute;
      bottom: 12px;
      left: 12px;
      right: 12px;
      z-index: 2;
      color: #fff
  }

  .channel-icon-sm {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff
  }

  .ci-google {
      background: linear-gradient(135deg, #4285f4, #34a853)
  }

  .ci-facebook {
      background: #1877f2
  }

  .ci-instagram {
      background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045)
  }

  .ci-linkedin {
      background: #0a66c2
  }

  .ci-tiktok {
      background: linear-gradient(135deg, #ff0050, #00f2ea)
  }

  .ci-email {
      background: linear-gradient(135deg, #f59e0b, #ef4444)
  }

  .ci-youtube {
      background: #ff0000
  }

  .ci-twitter {
      background: #1da1f2
  }

  .status-pill {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 3px 10px;
      border-radius: 9999px;
      font-size: 11px;
      font-weight: 600;
      white-space: nowrap
  }

  .st-active {
      background: #ecfdf5;
      color: #059669
  }

  .dark .st-active {
      background: rgba(16, 185, 129, .15);
      color: #34d399
  }

  .st-paused {
      background: #fffbeb;
      color: #d97706
  }

  .dark .st-paused {
      background: rgba(245, 158, 11, .15);
      color: #fbbf24
  }

  .st-scheduled {
      background: #eff6ff;
      color: #2563eb
  }

  .dark .st-scheduled {
      background: rgba(59, 130, 246, .15);
      color: #60a5fa
  }

  .st-ended {
      background: #f1f5f9;
      color: #475569
  }

  .dark .st-ended {
      background: rgba(71, 85, 105, .2);
      color: #94a3b8
  }

  .st-draft {
      background: #f5f3ff;
      color: #7c3aed
  }

  .dark .st-draft {
      background: rgba(124, 58, 237, .15);
      color: #a78bfa
  }

  .perf-ring {
      width: 56px;
      height: 56px;
      position: relative
  }

  .perf-ring svg {
      transform: rotate(-90deg)
  }

  .perf-ring-text {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700
  }

  .calendar-day {
      aspect-ratio: 1;
      border-radius: 8px;
      display: flex;
      flex-direction: column;
      padding: 6px;
      font-size: 10px;
      position: relative;
      overflow: hidden;
      transition: all .2s ease;
      cursor: pointer
  }

  .calendar-day:hover {
      transform: scale(1.05);
      z-index: 10;
      box-shadow: 0 4px 12px rgba(0, 0, 0, .15)
  }

  .calendar-day .day-num {
      font-weight: 700;
      font-size: 12px
  }

  .calendar-day .day-dot {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      margin-top: auto
  }

  .cd-empty {
      background: transparent;
      color: #cbd5e1
  }

  .dark .cd-empty {
      color: #334155
  }

  .cd-past {
      background: #f8fafc;
      color: #94a3b8
  }

  .dark .cd-past {
      background: #1e293b
  }

  .cd-today {
      background: linear-gradient(135deg, #6366f1, #8b5cf6);
      color: #fff;
      box-shadow: 0 4px 12px rgba(99, 102, 241, .4)
  }

  .cd-scheduled {
      background: #eff6ff;
      color: #2563eb
  }

  .dark .cd-scheduled {
      background: rgba(59, 130, 246, .15);
      color: #60a5fa
  }

  .cd-active {
      background: #ecfdf5;
      color: #059669;
      border: 1px dashed #10b981
  }

  .dark .cd-active {
      background: rgba(16, 185, 129, .1);
      color: #34d399
  }