/*
 * sikp-tokens.css
 * Satu sumber nilai desain untuk halaman publik, halaman masuk, dan dasbor.
 * Dimuat SETELAH bootstrap.min.css supaya variabel --bs-* di bawah menimpa bawaan.
 *
 * Arah desain: dokumen akademik institusional, bukan produk SaaS.
 *   - Satu warna merek (hijau zamrud 700) dipakai di titik penting saja: tombol
 *     utama, menu aktif, garis merek di tepi atas. Sisanya netral slate.
 *   - Serif (Source Serif 4) untuk judul halaman dan angka laporan supaya terbaca
 *     sebagai dokumen. Inter untuk antarmuka karena angka tabular membuat NIM,
 *     tanggal, dan nilai di tabel sejajar.
 *   - Sudut kecil (4px kontrol, 6px permukaan) dan tanpa bayangan kecuali pada
 *     elemen yang benar-benar terangkat (menu tarik-turun, modal).
 *
 * Kontras diverifikasi dengan contrast-check.py (antislop-human):
 *   putih di atas #047857 5.48:1, #15803d 5.02:1, #b45309 5.02:1,
 *   #dc2626 4.83:1, #2563eb 5.17:1, #475569 7.58:1.
 *   #d2dfdc di atas #064e3b 7.09:1, #a3c1b7 di atas #064e3b 5.03:1.
 *   Garis kontrol #7b8aa0 di atas #f8fafc 3.35:1 (syarat non-teks 3:1).
 */

:root {
    /* Merek */
    --sikp-brand: #047857;
    --sikp-brand-hover: #065f46;
    --sikp-brand-deep: #064e3b;
    --sikp-brand-soft: #ecfdf5;
    --sikp-brand-line: #a7f3d0;
    --sikp-brand-on-dark: #6ee7b7;

    /* Netral */
    --sikp-ink: #0f172a;
    --sikp-text: #1e293b;
    --sikp-text-2: #334155;
    --sikp-muted: #475569;
    --sikp-line: #e2e8f0;
    --sikp-line-strong: #cbd5e1;
    --sikp-control-line: #7b8aa0;
    --sikp-bg: #f8fafc;
    --sikp-surface: #ffffff;
    --sikp-surface-muted: #f1f5f9;

    /* Status (isi solid dengan teks putih, semuanya lolos 4.5:1) */
    --sikp-success: #15803d;
    --sikp-success-hover: #166534;
    --sikp-warning: #b45309;
    --sikp-warning-hover: #92400e;
    --sikp-danger: #dc2626;
    --sikp-danger-hover: #b91c1c;
    --sikp-info: #2563eb;
    --sikp-info-hover: #1d4ed8;

    /* Tipografi */
    --sikp-font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --sikp-font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;

    /* Bentuk */
    --sikp-radius-control: 0.25rem;
    --sikp-radius-surface: 0.375rem;
    --sikp-radius-dialog: 0.5rem;
    --sikp-shadow-raised: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.14);

    /* Garis merek: penanda identitas lembaga, diulang di masthead dan topbar */
    --sikp-brand-rule: 4px solid var(--sikp-brand);

    /* ---- Penimpaan variabel Bootstrap 5.3 ---- */
    --bs-body-font-family: var(--sikp-font-ui);
    --bs-body-font-size: 0.9375rem;
    --bs-body-line-height: 1.55;
    --bs-body-color: var(--sikp-text);
    --bs-body-color-rgb: 30, 41, 59;
    --bs-body-bg: var(--sikp-bg);
    --bs-body-bg-rgb: 248, 250, 252;
    --bs-emphasis-color: var(--sikp-ink);
    --bs-emphasis-color-rgb: 15, 23, 42;
    --bs-secondary-color: var(--sikp-muted);
    --bs-secondary-color-rgb: 71, 85, 105;
    --bs-secondary-bg: var(--sikp-surface-muted);
    --bs-secondary-bg-rgb: 241, 245, 249;
    --bs-tertiary-bg: var(--sikp-surface-muted);
    --bs-tertiary-bg-rgb: 241, 245, 249;
    --bs-border-color: var(--sikp-line);
    --bs-border-color-translucent: rgba(15, 23, 42, 0.12);

    --bs-border-radius: var(--sikp-radius-control);
    --bs-border-radius-sm: 0.1875rem;
    --bs-border-radius-lg: var(--sikp-radius-surface);
    --bs-border-radius-xl: var(--sikp-radius-dialog);
    --bs-border-radius-xxl: var(--sikp-radius-dialog);

    --bs-primary: var(--sikp-brand);
    --bs-primary-rgb: 4, 120, 87;
    --bs-success: var(--sikp-success);
    --bs-success-rgb: 21, 128, 61;
    --bs-warning: var(--sikp-warning);
    --bs-warning-rgb: 180, 83, 9;
    --bs-danger: var(--sikp-danger);
    --bs-danger-rgb: 220, 38, 38;
    --bs-info: var(--sikp-info);
    --bs-info-rgb: 37, 99, 235;
    --bs-secondary: var(--sikp-muted);
    --bs-secondary-rgb: 71, 85, 105;

    --bs-link-color: var(--sikp-brand);
    --bs-link-color-rgb: 4, 120, 87;
    --bs-link-hover-color: var(--sikp-brand-hover);
    --bs-link-hover-color-rgb: 6, 95, 70;

    --bs-primary-text-emphasis: #064e3b;
    --bs-primary-bg-subtle: #ecfdf5;
    --bs-primary-border-subtle: #a7f3d0;
    --bs-success-text-emphasis: #14532d;
    --bs-success-bg-subtle: #f0fdf4;
    --bs-success-border-subtle: #bbf7d0;
    --bs-warning-text-emphasis: #78350f;
    --bs-warning-bg-subtle: #fffbeb;
    --bs-warning-border-subtle: #fde68a;
    --bs-danger-text-emphasis: #7f1d1d;
    --bs-danger-bg-subtle: #fef2f2;
    --bs-danger-border-subtle: #fecaca;
    --bs-info-text-emphasis: #1e3a8a;
    --bs-info-bg-subtle: #eff6ff;
    --bs-info-border-subtle: #bfdbfe;

    --bs-focus-ring-color: rgba(4, 120, 87, 0.3);
    --bs-heading-color: var(--sikp-ink);
}

body {
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: var(--sikp-brand-line);
    color: var(--sikp-ink);
}
