  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
  }

  html {
      overflow-x: hidden
  }

  body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      overflow-x: hidden
  }

  ::-webkit-scrollbar {
      width: 6px
  }

  ::-webkit-scrollbar-track {
      background: transparent
  }

  ::-webkit-scrollbar-thumb {
      background: rgba(148, 163, 184, 0.3);
      border-radius: 3px
  }

  .dark ::-webkit-scrollbar-thumb {
      background: rgba(71, 85, 105, 0.5)
  }

  .sidebar-nav {
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: none;
      -ms-overflow-style: none
  }

  .sidebar-nav::-webkit-scrollbar {
      width: 0;
      display: none
  }

  .card-premium {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
  }

  .card-premium:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1)
  }

  .dark .card-premium:hover {
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4)
  }

  .status-online {
      animation: statusPulse 2s ease-in-out infinite
  }

  @keyframes statusPulse {

      0%,
      100% {
          box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4)
      }

      50% {
          box-shadow: 0 0 0 8px rgba(16, 185, 129, 0)
      }
  }

  .menu-active {
      background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(14, 165, 233, 0.1));
      border-right: 3px solid #10b981;
      color: #059669
  }

  .dark .menu-active {
      background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(14, 165, 233, 0.15));
      color: #34d399
  }

  .badge-pulse {
      animation: badgePulse 2s ease-in-out infinite
  }

  @keyframes badgePulse {

      0%,
      100% {
          transform: scale(1)
      }

      50% {
          transform: scale(1.15)
      }
  }

  .table-responsive {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch
  }

  .table-responsive::-webkit-scrollbar {
      height: 4px
  }

  .sidebar-overlay {
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px)
  }

  .toast-container {
      position: fixed;
      top: 1rem;
      right: 1rem;
      z-index: 99999;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      pointer-events: none
  }

  .toast-container>* {
      pointer-events: auto
  }

  .dropdown-panel {
      position: absolute;
      right: 0;
      margin-top: 0.5rem
  }

  @media (max-width: 640px) {
      .dropdown-panel {
          position: fixed !important;
          top: 4.25rem !important;
          left: 0.5rem !important;
          right: 0.5rem !important;
          margin-top: 0 !important;
          width: auto !important;
          max-width: none !important;
          max-height: calc(100vh - 5rem) !important;
          overflow-y: auto !important;
      }
  }

  @media (max-width: 480px) {
      .toast-container {
          top: 0.5rem !important;
          right: 0.5rem !important;
          left: 0.5rem !important;
      }

      .toast-container>* {
          min-width: 0 !important;
          max-width: 100% !important;
          width: 100%;
      }
  }

  .tab-btn.active {
      background: white;
      color: #059669;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }

  .dark .tab-btn.active {
      background: #334155;
      color: #34d399;
  }

  .filter-pill.active {
      background: linear-gradient(135deg, #10b981, #059669);
      color: white;
      border-color: transparent;
  }

  /* Priority styles */
  .priority-critical {
      background: linear-gradient(135deg, #ef4444, #dc2626);
      color: white;
  }

  .priority-high {
      background: linear-gradient(135deg, #f59e0b, #d97706);
      color: white;
  }

  .priority-medium {
      background: linear-gradient(135deg, #0ea5e9, #0284c7);
      color: white;
  }

  .priority-low {
      background: linear-gradient(135deg, #64748b, #475569);
      color: white;
  }

  /* Status styles */
  .mstatus-open {
      background: linear-gradient(135deg, #ef4444, #dc2626);
      color: white;
  }

  .mstatus-progress {
      background: linear-gradient(135deg, #0ea5e9, #0284c7);
      color: white;
  }

  .mstatus-scheduled {
      background: linear-gradient(135deg, #8b5cf6, #7c3aed);
      color: white;
  }

  .mstatus-completed {
      background: linear-gradient(135deg, #10b981, #059669);
      color: white;
  }

  .mstatus-cancelled {
      background: linear-gradient(135deg, #64748b, #475569);
      color: white;
  }

  /* Timeline styles */
  .timeline-item {
      position: relative;
      padding-left: 2rem;
  }

  .timeline-item::before {
      content: '';
      position: absolute;
      left: 8px;
      top: 24px;
      bottom: -16px;
      width: 2px;
      background: #e5e7eb;
  }

  .dark .timeline-item::before {
      background: #334155;
  }

  .timeline-item:last-child::before {
      display: none;
  }

  .timeline-dot {
      position: absolute;
      left: 0;
      top: 8px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 3px solid white;
      z-index: 1;
  }

  .dark .timeline-dot {
      border-color: #1e293b;
  }

  /* Technician avatar with status */
  .tech-avatar {
      position: relative;
  }

  .tech-status-dot {
      position: absolute;
      bottom: -2px;
      right: -2px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      border: 2px solid white;
  }

  .dark .tech-status-dot {
      border-color: #1e293b;
  }

  /* Schedule cell */
  .schedule-cell {
      min-height: 80px;
      border: 1px solid #e5e7eb;
      padding: 6px;
      transition: all 0.2s;
      cursor: pointer;
      position: relative;
  }

  .dark .schedule-cell {
      border-color: #334155;
  }

  .schedule-cell:hover {
      background: #f0fdf4;
  }

  .dark .schedule-cell:hover {
      background: rgba(16, 185, 129, 0.08);
  }