/**
 * Custom Styling & Print Rules untuk Aplikasi Cek Nilai Ujian
 */

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

:root {
  --primary: #4f46e5;
  --primary-hover: #4338ca;
  --accent: #06b6d4;
  --bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%);
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Glassmorphism Effect */
.glass-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.08);
}

.glass-card-dark {
  background: rgba(30, 41, 59, 0.7);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Gradient Text */
.gradient-text {
  background: linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-header {
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e1b4b 100%);
}

/* Custom Scrollbar */
::-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;
}

/* Mobile & Touch Improvements */
@media (max-width: 640px) {
  .mobile-table-card {
    display: block;
    width: 100%;
  }
}

/* ========================================================
   PRINT STYLING (Untuk Cetak / Save PDF Resmi Kartu Nilai)
   ======================================================== */
@media print {
  /* Sembunyikan elemen non-cetak */
  .no-print,
  nav,
  header,
  footer,
  .btn-print,
  .search-box,
  .alert-box,
  button {
    display: none !important;
  }

  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .print-container {
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    padding: 10mm 15mm !important;
    margin: 0 auto !important;
  }

  .print-table {
    border-collapse: collapse !important;
    width: 100% !important;
  }

  .print-table th,
  .print-table td {
    border: 1px solid #333 !important;
    padding: 6px 8px !important;
    font-size: 10pt !important;
    color: #000 !important;
  }

  .print-table th {
    background-color: #f1f5f9 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .kop-surat {
    border-bottom: 3px double #000 !important;
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
  }

  .ttd-section {
    page-break-inside: avoid;
    margin-top: 35px !important;
  }
}
