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

:root {
  --bg-primary: #0F1115;
  --bg-sidebar: #111111;
  --bg-card: #1A1A1A;
  --color-primary: #D4AF37;
  --color-success: #22C55E;
  --color-danger: #EF4444;
  --color-warning: #FACC15;
  --color-blue: #3B82F6;
  --border-radius: 20px;
  --font-sans: 'Inter', sans-serif;
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Base resets & styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: var(--bg-primary);
  color: #F3F4F6;
  font-family: var(--font-sans);
  overflow-x: hidden;
  min-height: 100vh;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
  background: #2D3139;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary);
}

/* Glassmorphism & Card Lift */
.glass-panel {
  background: rgba(26, 26, 26, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.hover-lift {
  transition: var(--transition-smooth);
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px -10px rgba(212, 175, 55, 0.15);
  border-color: rgba(212, 175, 55, 0.2);
}

/* Sidebar Custom Transitions */
.sidebar-transition {
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dot grid background pattern for Login page */
.grid-bg {
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Text glow helper */
.text-glow {
  text-shadow: 0 0 12px rgba(212, 175, 55, 0.4);
}



.pulse-primary {
  box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7);
  animation: pulse-primary 2s infinite;
}
@keyframes pulse-primary {
  70% {
    box-shadow: 0 0 0 8px rgba(212, 175, 55, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
  }
}

/* Print stylesheets for Invoices */
@media print {
  body * {
    visibility: hidden;
  }
  #print-area, #print-area *, #attendance-report-print-area, #attendance-report-print-area * {
    visibility: visible;
  }
  #print-area, #attendance-report-print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #FFFFFF !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .no-print {
    display: none !important;
  }
}

/* Custom styles for A4 Invoice and Thermal Invoice prints */
.invoice-a4-print {
  width: 210mm;
  min-height: 297mm;
  padding: 20mm;
  background: white;
  color: black;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.invoice-thermal-print {
  width: 80mm;
  padding: 5mm;
  background: white;
  color: black;
  font-family: monospace;
  font-size: 11px;
}

/* Custom styled inputs for login reference style */
.login-input {
  background-color: #1A202C; /* Dark gray */
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  border-radius: 12px;
  transition: var(--transition-smooth);
}
.login-input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2);
  outline: none;
}

/* Kanban board custom columns styling */
.kanban-col {
  background-color: #111111;
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: 16px;
}

/* Sidebar Link Active State overrides matching reference image */
.sidebar-link.active {
  background-color: rgba(212, 175, 55, 0.07) !important;
  color: #D4AF37 !important;
}
.sidebar-link {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-link:hover:not(.active) {
  background-color: rgba(255, 255, 255, 0.03);
  color: #FFFFFF;
}
