/*
 * JDIH Pascasarjana INSTIKI — tema panel admin (Filament)
 * Sistem Desain Pascasarjana INSTIKI: maroon = aksi, navy = judul & bidang
 * gelap, gold = garis aksen tebal. Sudut tajam, tanpa bayangan, tanpa gradasi.
 */

:root {
    --ji-maroon-600: #a20404;
    --ji-maroon-700: #880303;
    --ji-navy-900: #192a54;
    --ji-navy-950: #0f1a36;
    --ji-gold: #ffad01;
    --ji-border: #d1d5db;
    --ji-text-muted: #6b7280;
}

/* ---------- 1. Global: sudut tajam, tanpa bayangan ---------- */
.fi-body {
    background-color: #fcfdfd !important;
}

.dark .fi-body {
    background-color: #0b0d11 !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-modal-window,
.fi-dropdown-panel,
.fi-input-wrp,
.fi-select-input,
.fi-btn {
    border-radius: 0 !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    box-shadow: none !important;
    border: 1px solid var(--ji-border) !important;
}

/* Garis aksen atas pada kartu (accent-bar-4) */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    border-top: 4px solid var(--ji-maroon-600) !important;
}

/* ---------- 2. Sidebar: navy, item aktif maroon + garis emas ---------- */
.fi-sidebar {
    background: var(--ji-navy-900) !important;
    border-inline-end: none !important;
    z-index: 30;
}

.fi-sidebar-header {
    border-color: rgba(255, 255, 255, 0.1) !important;
    padding-block: 1.25rem !important;
}

.fi-sidebar-header-logo-ctn {
    display: flex !important;
    align-items: center;
}

.fi-sidebar-header-logo-ctn a {
    display: flex;
    align-items: center;
}

/* Logo berwarna di latar navy: jadikan putih seperti footer web publik */
.fi-sidebar .fi-logo {
    filter: brightness(0) invert(1);
}

.jdih-sidebar-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    margin-inline-start: 0.75rem;
    padding-inline-start: 0.75rem;
    border-inline-start: 4px solid var(--ji-gold);
}

.jdih-sidebar-brand-name {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #ffffff;
}

.jdih-sidebar-brand-tagline {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

.fi-sidebar-nav-groups {
    padding-inline: 0.75rem !important;
    gap: 0.375rem !important;
}

.fi-sidebar-group-items {
    gap: 0.25rem !important;
}

.fi-sidebar-item-btn {
    border-radius: 0 !important;
    padding-block: 0.65rem !important;
    border-inline-start: 4px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.fi-sidebar-item-btn:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Filament menulis warna eksplisit pada label & ikon: target langsung. */
.fi-sidebar-item-label,
.fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item-btn svg {
    color: rgba(255, 255, 255, 0.85) !important;
}

.fi-sidebar-item-btn:hover .fi-sidebar-item-label,
.fi-sidebar-item-btn:hover > .fi-icon,
.fi-sidebar-item-btn:hover svg {
    color: #ffffff !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: var(--ji-maroon-600) !important;
    border-inline-start-color: var(--ji-gold);
    font-weight: 700 !important;
    box-shadow: none !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn svg {
    color: #ffffff !important;
}

.fi-sidebar-group-label {
    color: var(--ji-gold) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ---------- 3. Topbar: putih, garis hairline ---------- */
.fi-topbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-shadow: none !important;
}

.dark .fi-topbar {
    background-color: #0b0d11 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.jdih-topbar-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    margin-inline-start: 0.65rem;
    padding-inline-start: 0.65rem;
    border-inline-start: 4px solid var(--ji-gold);
}

.jdih-topbar-brand-name {
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--ji-navy-900);
}

.dark .jdih-topbar-brand-name {
    color: #f8fafc;
}

.jdih-topbar-brand-tagline {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ji-text-muted);
}

.fi-global-search .fi-input-wrp {
    background-color: #f9fafb !important;
}

/* ---------- 4. Header halaman: eyebrow + judul tebal ---------- */
.jdih-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ji-maroon-600);
}

.jdih-page-badge-dot {
    width: 1.5rem;
    height: 0.25rem;
    background-color: var(--ji-gold);
}

.fi-header-heading {
    font-size: 1.875rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em;
    color: var(--ji-navy-900) !important;
}

.dark .fi-header-heading {
    color: #f8fafc !important;
}

/* ---------- 5. Kartu statistik ---------- */
.fi-wi-stats-overview-stat {
    padding: 1.5rem !important;
}

.fi-wi-stats-overview-stat-value {
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em;
    color: var(--ji-navy-900) !important;
}

.dark .fi-wi-stats-overview-stat-value {
    color: #f8fafc !important;
}

.fi-wi-stats-overview-stat-label {
    font-weight: 500 !important;
    color: var(--ji-text-muted) !important;
}

/* ---------- 6. Tombol ---------- */
.fi-btn {
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    box-shadow: none !important;
}

.fi-btn-color-primary {
    box-shadow: none !important;
}

/* ---------- 7. Tabel: pita judul navy + garis maroon ---------- */
.fi-ta-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.fi-ta-header-cell {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ji-navy-900) !important;
}

.dark .fi-ta-header-cell {
    color: #cbd5e1 !important;
}

.fi-ta-row {
    transition: background-color 0.15s ease;
}

.fi-ta-row:hover {
    background-color: #f9fafb !important;
}

.dark .fi-ta-row:hover {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

.fi-ta-cell-content {
    padding-block: 0.9rem !important;
}
