/* ============================================================
   bootstrap.preset.css — penyesuaian STRUKTUR komponen Bootstrap.
   Dimuat SETELAH bootstrap CDN & SEBELUM app.css.

   Berkas ini HANYA mengatur ukuran/bentuk/spacing (padding, font-size,
   border-radius, dll). SELURUH PEWARNAAN elemen didefinisikan di app.css
   agar tidak tumpang tindih. Ubah skala ukuran lewat token :root di bawah.
   ============================================================ */
:root {
    /* Skala ukuran komponen (satu sumber) */
    --ui-btn-fs: .8rem;   --ui-btn-px: .72rem;  --ui-btn-py: .34rem;
    --ui-btn-fs-sm: .73rem; --ui-btn-px-sm: .55rem; --ui-btn-py-sm: .26rem;
    --ui-btn-fs-lg: .9rem;  --ui-btn-px-lg: 1rem;   --ui-btn-py-lg: .5rem;

    --ui-input-fs: .82rem; --ui-input-px: .7rem; --ui-input-py: .38rem;
    --ui-input-fs-sm: .78rem; --ui-input-px-sm: .6rem; --ui-input-py-sm: .28rem;
    --ui-label-fs: .8rem;

    --ui-table-fs: .8rem;      /* teks isi tabel */
    --ui-th-fs: .68rem;        /* header tabel terang (uppercase) */
    --ui-th-fs-dark: .74rem;   /* header tabel gelap (.datatable) */
    --ui-cell-px: .8rem; --ui-cell-py: .5rem;

    --ui-dropdown-fs: .9rem;
}

/* -- Tombol (ukuran/bentuk) -- */
.btn {
    /* Padding/margin TIDAK didefinisikan — pakai bawaan Bootstrap.
       Di sini hanya radius (bentuk), skala font, bobot & efek. */
    --bs-btn-font-weight: 500;
    --bs-btn-font-size: var(--ui-btn-fs);
    --bs-btn-border-radius: var(--radius-sm);
    letter-spacing: .01em;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, filter .16s ease;
}
.btn-sm { --bs-btn-font-size: var(--ui-btn-fs-sm); }
.btn-lg { --bs-btn-font-size: var(--ui-btn-fs-lg); }
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15, 23, 42, .16); }
.btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(15, 23, 42, .1); }
.btn:disabled,
.btn.disabled { box-shadow: none; transform: none; opacity: .55; }
.btn i { line-height: 1; }

/* -- Input & select (ukuran/bentuk) -- */
.form-control,
.form-select {
    /* Padding/min-height TIDAK didefinisikan — pakai bawaan Bootstrap. */
    border-radius: var(--radius-sm);
    font-size: var(--ui-input-fs);
}
.form-control-sm,
.form-select-sm {
    font-size: var(--ui-input-fs-sm);
}
.form-label {
    font-weight: 500;
    font-size: var(--ui-label-fs);
}

/* -- Dropdown (ukuran/bentuk) -- */
.dropdown-menu {
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding: .4rem;
    font-size: var(--ui-dropdown-fs);
    margin-top: .1rem;
}
.dropdown-item {
    border-radius: var(--radius-sm);
    padding: .5rem .7rem;
    display: flex;
    align-items: center;
    gap: .55rem;
}
.dropdown-item i { width: 1.1rem; text-align: center; }
.dropdown-header {
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: .5rem .7rem .25rem;
}

/* -- Tabel generik .table (ukuran/bentuk) -- */
.table { margin-bottom: 0; }
.table > thead th {
    font-size: var(--ui-th-fs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: var(--ui-cell-py) var(--ui-cell-px);
    white-space: nowrap;
}
.table > tbody td {
    padding: var(--ui-cell-py) var(--ui-cell-px);
    font-size: var(--ui-table-fs);
    vertical-align: middle;
}
.table > tbody tr:last-child td { border-bottom: 0; }
.table tfoot td { padding: var(--ui-cell-py) var(--ui-cell-px); }

/* -- Badge (ukuran/bentuk) -- */
.badge {
    font-weight: 500;
    letter-spacing: .01em;
    padding: .4em .65em;
    border-radius: var(--radius-sm);
}
.badge.rounded-pill { border-radius: 999px; }

/* -- Pagination (ukuran) -- */
.pagination { --bs-pagination-font-size: var(--ui-input-fs); }
