/* Custom CSS extensions & Print Stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Custom Scrollbar for tables and drawers */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Glassmorphism accents */
.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

/* Sparkline canvas styling */
.sparkline-canvas {
  width: 80px !important;
  height: 24px !important;
}

/* Badge colors for Intent */
.badge-intent-info {
  background-color: #e0f2fe;
  color: #0369a1;
}
.badge-intent-comm {
  background-color: #fef3c7;
  color: #b45309;
}
.badge-intent-trans {
  background-color: #dcfce7;
  color: #15803d;
}
.badge-intent-nav {
  background-color: #f3e8ff;
  color: #7e22ce;
}

/* Cannibalization severity */
.severity-high {
  background-color: #fee2e2;
  color: #b91c1c;
  border-left: 4px solid #ef4444;
}
.severity-medium {
  background-color: #fef3c7;
  color: #b45309;
  border-left: 4px solid #f59e0b;
}

/* Position change indicators */
.pos-gain {
  color: #10b981;
  font-weight: 600;
}
.pos-loss {
  color: #ef4444;
  font-weight: 600;
}
.pos-neutral {
  color: #64748b;
  font-weight: 500;
}

/* Transition utility */
.tab-content {
  display: none;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.tab-content.active {
  display: block;
  opacity: 1;
}

/* Drawer / Slide-over */
.drawer {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateX(100%);
}
.drawer.open {
  transform: translateX(0);
}

/* Tooltip hover effect */
.tooltip-trigger:hover .tooltip-box {
  visibility: visible;
  opacity: 1;
}

/* Print / PDF Export Styling */
@media print {
  body {
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 11pt;
  }
  .no-print {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  .glass-panel {
    box-shadow: none !important;
    border: 1px solid #e2e8f0 !important;
  }
  .tab-content {
    display: none !important;
  }
  #tab-client-report {
    display: block !important;
    opacity: 1 !important;
  }
  .page-break {
    page-break-before: always;
  }
}
