@font-face {
  font-family: 'Figtree';
  src: url('../../fonts/figtree.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* PRIMARY COLOR OVERRIDE (Bootstrap indigo) */
    :root {
      --bs-primary: #6610f2; /* indigo */
      --surface-1: #ffffff;
      --surface-2: #f8f9fa;
      --surface-3: #eef2ff;
      --muted: #6c757d;
      --accent-1: #7c3aed;
      --card-radius: 1rem;
    }

    /* general body */
    body {
      background: var(--surface-2);
      color: #0f172a;
      font-family: "IBM Plex Sans Var", 'Figtree', Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }

    /* navbar */
    .navbar {
      border-bottom-left-radius: 0.5rem;
      border-bottom-right-radius: 0.5rem;
    }
    .navbar .navbar-brand { letter-spacing: -0.2px; font-weight: 700; }

    /* header */
    header {
      background: linear-gradient(180deg, rgba(102,16,242,0.12), rgba(102,16,242,0.04));
      padding: 2.5rem 0;
      border-radius: 0.75rem;
      margin: 1rem 0;
    }

    /* PDF card */
    .pdf-card {
      border-radius: calc(var(--card-radius) + 0.5rem);
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(16,24,40,0.06);
      background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,255,0.9));
    }
    .pdf-card .pdf-body {
      padding: 1rem 1.25rem;
    }
    .pdf-badge {
      background: rgba(102,16,242,0.12);
      color: var(--bs-primary);
      font-weight: 600;
      padding: .25rem .5rem;
      border-radius: .5rem;
      display: inline-flex;
      gap: .4rem;
      align-items: center;
    }

    /* search inputs rounded material */
    .form-control, .form-select {
      border-radius: 12px;
      box-shadow: none;
      border: 1px solid rgba(15,23,42,0.06);
    }
    .form-control:focus, .form-select:focus {
      outline: none;
      box-shadow: 0 6px 20px rgba(102,16,242,0.08);
      border-color: var(--bs-primary);
    }

    /* main card rounded */
    .card {
      border-radius: var(--card-radius);
    }

    /* table rounded rows */
    .table {
      border-radius: 12px;
      overflow: hidden;
      background: linear-gradient(180deg,#fff,#fbfbff);
      border: 1px solid rgba(15,23,42,0.04);
    }
    .table thead th {
      background: linear-gradient(90deg, rgba(102,16,242,0.06), rgba(102,16,242,0.03));
      border-bottom: 1px solid rgba(15,23,42,0.04);
      color: #0b1220;
    }
    .table tbody tr:hover {
      background: rgba(102,16,242,0.03);
    }
    .table td, .table th {
      vertical-align: middle;
      padding: 0.85rem 1rem;
    }
      

    /* rounded pagination 
    .pagination .page-link {
      border-radius: 10rem;
      min-width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
      */

    /* footer */
    footer {
      border-top-left-radius: 0.75rem;
      border-top-right-radius: 0.75rem;
    }

    /* dark mode (script.js toggles body.dark-mode) */
    body.dark-mode {
      background: #0b1220;
      color: #e6eef8;
    }
    body.dark-mode .text-muted { 
      color: #e6eef8 !important; 
    }
    body.dark-mode header {
      background: linear-gradient(180deg, rgba(102,16,242,0.08), rgba(3,7,18,0.16));
    }
    body.dark-mode .card {
      background: linear-gradient(180deg, #0e1724, #07101a);
      color: #e6eef8;
      border-color: rgba(255,255,255,0.04);
    }
    body.dark-mode .table {
      background: linear-gradient(180deg,#07101a,#07101a);
      border: 1px solid rgba(255,255,255,0.03);
      color: #e6eef8;
    }
    body.dark-mode .table thead th {
      background: rgba(255,255,255,0.02);
      color: #dbeafe;
    }
    body.dark-mode .form-control, body.dark-mode .form-select {
      background: #07101a;
      color: #e6eef8;
      border: 1px solid rgba(255,255,255,0.06);
    }
    body.dark-mode .form-control:focus, body.dark-mode .form-select:focus {
      box-shadow: 0 6px 30px rgba(102,16,242,0.12);
      border-color: #8b5cf6;
    }
    body.dark-mode .pdf-card {
      background: linear-gradient(180deg,#07101a,#0b1220);
      box-shadow: 0 8px 30px rgba(2,6,23,0.7);
    }
    body.dark-mode .pdf-badge { background: rgba(139,92,246,0.12); color: #dbeafe; }

    /* small screens: tighten header */
    @media (max-width: 576px){
      header { padding: 1.5rem 0; border-radius: .6rem; }
      .form-control, .form-select { border-radius: 10px; }
    }

    /* subtle accent utility (optional) */
    .accent-pill {
      display: inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.35rem .6rem;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(124,58,237,0.12), rgba(102,16,242,0.06));
      color: var(--bs-primary);
      font-weight:600;
      font-size:.9rem;
    }