/**
 * SIGAP WARGA - Filament Sharp Edge Theme (Zero Border-Radius)
 * Enforces zero border-radius globally and monochrome system palette
 */

*,
*::before,
*::after,
.fi-btn,
.fi-badge,
.fi-card,
.fi-input,
.fi-select,
.fi-modal-window,
.fi-dropdown-panel,
.fi-ta-table,
.fi-sidebar,
.fi-topbar,
.fi-section,
.fi-fieldset,
.fi-tabs,
.fi-tabs-item,
.fi-breadcrumbs,
.fi-input-wrp,
.fi-fo-select-wrp,
.fi-fo-text-input {
    border-radius: 0 !important;
}

/* Pembatasan Warna Status */
.badge-status-selesai {
    background-color: #198754 !important;
    color: #ffffff !important;
}

.badge-status-diajukan {
    background-color: #856404 !important;
    color: #ffffff !important;
}

.badge-status-ditolak {
    background-color: #842029 !important;
    color: #ffffff !important;
}

/* Avatar Navbar - Ikon Orang (Zero Border-Radius) */
.fi-avatar {
    border-radius: 0 !important;
    background-color: #111827 !important;
}

/* Tata Letak 5 Kartu Statistik Laporan Menyamping 1 Baris Penuh (Desktop) */
@media (min-width: 1024px) {
    .fi-wi-stats-overview .fi-wi-stats-overview-stats-ctn,
    .stats-overview-5-cols {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }
}
@media (min-width: 640px) and (max-width: 1023px) {
    .fi-wi-stats-overview .fi-wi-stats-overview-stats-ctn,
    .stats-overview-5-cols {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }
}

/* Penyesuaian Proporsi Teks Kartu Statistik agar Pas 5 Kolom */
.fi-wi-stats-overview-stat {
    padding: 1.25rem 1rem !important;
}
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    font-size: 1.75rem !important;
    line-height: 2rem !important;
}
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description {
    font-size: 0.75rem !important;
}

/* Penyetaraan Tinggi Kartu Chart Widget Berdampingan di Dashboard */
@media (min-width: 768px) {
    .fi-wi-chart {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .fi-wi-chart > .fi-section,
    .fi-wi-chart .fi-section-content-ctn {
        height: 100% !important;
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .fi-wi-chart .fi-section-content {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }
    .fi-wi-chart canvas {
        max-height: 280px !important;
        height: 280px !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   Pembatas Kolom Vertikal Tabel (Structured Administrative Ledger)
   Menghadirkan garis vertikal pemisah antar kolom di seluruh tabel panel admin
   ========================================================================== */

/* Pembatas Vertikal pada Sel Header dan Sel Data */
.fi-ta-table th,
.fi-ta-table td {
    border-right: 1px solid #e5e7eb !important;
}

/* Hilangkan garis kanan pada kolom terakhir agar tidak menumpuk dengan border luar */
.fi-ta-table th:last-child,
.fi-ta-table td:last-child {
    border-right: none !important;
}

/* Pembatas Horizontal yang Tegas di Bawah Baris Header */
.fi-ta-table thead tr {
    border-bottom: 2px solid #d1d5db !important;
    background-color: #f8fafc !important;
}

/* Garis Horizontal Pembatas Antar Baris Data */
.fi-ta-table tbody tr {
    border-bottom: 1px solid #e5e7eb !important;
}

/* Efek Hover Halus pada Baris Data */
.fi-ta-table tbody tr:hover {
    background-color: #f8fafc !important;
}

/* Dukungan Mode Gelap (Dark Mode) */
.dark .fi-ta-table th,
.dark .fi-ta-table td {
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.dark .fi-ta-table th:last-child,
.dark .fi-ta-table td:last-child {
    border-right: none !important;
}

.dark .fi-ta-table thead tr {
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
}

.dark .fi-ta-table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.dark .fi-ta-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* ==========================================================================
   Stabilitas Kursor & Eliminasi Total Kedipan (Zero Cursor Flicker)
   1. Netralkan utilitas cursor-wait Filament/Tailwind agar tidak pernah berubah
      ke jam pasir/spinning circle OS saat request Livewire/Alpine diproses.
   2. Kunci seluruh elemen interaktif tetap menggunakan cursor: pointer bahkan
      saat status :disabled, [disabled], :active, atau wire:loading.
   3. Terapkan user-select: none pada elemen interaktif untuk mencegah Windows
      menampilkan kursor I-beam (text caret) saat diklik atau digeser mikro.
   4. Pertahankan kursor teks (I-beam) hanya pada input teks dan textarea.
   ========================================================================== */

/* 1. Netralkan cursor-wait bawaan Filament & Tailwind */
.cursor-wait,
.enabled\:cursor-wait,
.enabled\:cursor-wait:enabled,
[wire\:loading],
[wire\:loading\.delay],
[wire\:loading\.inline],
[wire\:loading\.block],
[wire\:loading\.flex],
[wire\:loading] *,
[wire\:loading\.delay] * {
    cursor: pointer !important;
}

/* 2. Seluruh elemen interaktif dan turunan/child di dalamnya wajib terkunci ke pointer */
a,
a *,
button,
button *,
[role="button"],
[role="button"] *,
[role="tab"],
[role="tab"] *,
.fi-btn,
.fi-btn *,
.fi-icon-btn,
.fi-icon-btn *,
.fi-tabs-item,
.fi-tabs-item *,
.fi-tabs-item-btn,
.fi-tabs-item-btn *,
.fi-ta-action,
.fi-ta-action *,
.fi-ta-header-cell button,
.fi-ta-header-cell button *,
.fi-link,
.fi-link *,
.fi-sidebar-item-button,
.fi-sidebar-item-button *,
.fi-dropdown-list-item,
.fi-dropdown-list-item *,
.fi-dropdown-trigger,
.fi-dropdown-trigger *,
.fi-topbar button,
.fi-topbar button *,
[wire\:click],
[wire\:click] *,
[wire\:navigate],
[wire\:navigate] * {
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* 3. Kunci cursor: pointer bahkan saat elemen berstatus disabled atau loading */
button:disabled,
button[disabled],
button:disabled *,
button[disabled] *,
.fi-btn:disabled,
.fi-btn[disabled],
.fi-btn:disabled *,
.fi-btn[disabled] *,
.fi-icon-btn:disabled,
.fi-icon-btn[disabled],
.fi-icon-btn:disabled *,
.fi-icon-btn[disabled] *,
a:disabled,
a[disabled],
a:disabled *,
a[disabled] *,
[disabled],
[disabled] * {
    cursor: pointer !important;
}

/* 4. Kembalikan kursor teks resmi HANYA pada input data dan editor teks */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
textarea,
.trix-content,
[contenteditable="true"] {
    cursor: text !important;
    user-select: text !important;
    -webkit-user-select: text !important;
}

/* 5. Kembalikan default kursor untuk badge murni non-interaktif */
.fi-badge:not([role="button"]):not(a):not(button) {
    cursor: default !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}