:root {
  /* Colors */
  --bg-dark: #0a1424;          /* Body background */
  --bg-main: #0c192d;          /* Viewport area background */
  --bg-panel: rgba(18, 38, 68, 0.65); /* Card / panel dark background */
  --sidebar-bg: #11233d;       /* Left sidebar background */
  --primary: #0066cc;          /* MedPrime classic blue */
  --primary-light: #0d6efd;    /* Light interactive blue */
  --accent: #00d2ff;           /* Neon Cyan/Blue */
  --accent-glow: rgba(0, 210, 255, 0.25);
  --success: #00e676;          /* Neon Green */
  --success-glow: rgba(0, 230, 118, 0.2);
  --danger: #ff1744;           /* Neon Red */
  --danger-glow: rgba(255, 23, 68, 0.2);
  
  --bg-gradient: radial-gradient(circle at top right, #0e203f 0%, #060e1b 100%);
  --text-main: #ffffff;
  --text-muted: #88a2c2;
  
  /* Layout */
  --border-radius-sm: 8px;
  --border-radius-md: 14px;
  --border-radius-lg: 20px;
  
  --border-neon: 1px solid rgba(0, 210, 255, 0.25);
  --border-neon-active: 1px solid rgba(0, 210, 255, 0.6);
  
  --shadow-sm: 0 4px 10px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 10px 25px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 15px 35px rgba(0, 0, 0, 0.5);
  
  --shadow-glow: 0 0 15px rgba(0, 210, 255, 0.35);
  --shadow-glow-success: 0 0 18px rgba(0, 230, 118, 0.35);
  --shadow-glow-danger: 0 0 18px rgba(255, 23, 68, 0.35);
  
  /* Transitions */
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  
  /* Fonts */
  --font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Animations keyframes */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-12px); }
}

@keyframes skeletonPulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@keyframes popIn {
  0% { transform: scale(0.94); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
