/* Auto-polish untuk tombol aksi: ikon, warna, hover, dan ukuran konsisten. */
:root{
    --btn-green-1:#22c55e;
    --btn-green-2:#0f9f6e;
    --btn-blue-1:#38bdf8;
    --btn-blue-2:#2563eb;
    --btn-purple-1:#a855f7;
    --btn-purple-2:#7c3aed;
    --btn-orange-1:#fbbf24;
    --btn-orange-2:#f97316;
    --btn-red-1:#fb7185;
    --btn-red-2:#dc2626;
    --btn-slate-1:#334155;
    --btn-slate-2:#0f172a;
    --btn-gray-1:#ffffff;
    --btn-gray-2:#e2e8f0;
}

.btn,.logout-btn,button.btn,a.btn,input[type="submit"].btn{
    position:relative;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    min-height:42px;
    padding:11px 17px!important;
    border:0!important;
    border-radius:15px!important;
    font-weight:950!important;
    letter-spacing:.005em;
    line-height:1.1;
    text-decoration:none!important;
    cursor:pointer;
    overflow:hidden;
    transform:translateZ(0);
    transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s ease, filter .18s ease, opacity .18s ease!important;
    box-shadow:0 14px 30px rgba(15,23,42,.105), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.btn::after,.logout-btn::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));
    pointer-events:none;
}
.btn:hover,.logout-btn:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:0 18px 38px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.36)!important}.btn:active,.logout-btn:active{transform:translateY(0)}.btn i,.logout-btn i{font-size:1.04em;line-height:1;flex:0 0 auto}.btn-sm,.actions .btn{min-height:38px;padding:9px 13px!important;border-radius:13px!important;font-size:13px!important}

.btn-success,.btn-action-save,.btn-action-add{background:linear-gradient(135deg,var(--btn-green-1),var(--btn-green-2))!important;color:#fff!important}.btn-primary,.btn-action-detail,.btn-action-filter,.btn-action-download{background:linear-gradient(135deg,var(--btn-blue-1),var(--btn-blue-2))!important;color:#fff!important}.btn-info,.btn-action-upload,.btn-action-import{background:linear-gradient(135deg,var(--btn-purple-1),var(--btn-purple-2))!important;color:#fff!important}.btn-warning,.btn-action-edit{background:linear-gradient(135deg,var(--btn-orange-1),var(--btn-orange-2))!important;color:#fff!important}.btn-danger,.btn-action-delete,.logout-btn{background:linear-gradient(135deg,var(--btn-red-1),var(--btn-red-2))!important;color:#fff!important}.btn-dark,.btn-action-print,.btn-action-copy{background:linear-gradient(135deg,var(--btn-slate-1),var(--btn-slate-2))!important;color:#fff!important}.btn-secondary,.btn-action-back,.btn-action-reset,.btn:not(.btn-primary):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.btn-dark):not(.btn-info):not(.btn-action-add):not(.btn-action-save):not(.btn-action-detail):not(.btn-action-filter):not(.btn-action-download):not(.btn-action-upload):not(.btn-action-import):not(.btn-action-edit):not(.btn-action-delete):not(.btn-action-print):not(.btn-action-copy){background:linear-gradient(135deg,var(--btn-gray-1),var(--btn-gray-2))!important;color:#0f172a!important}

.toolbar{gap:14px!important}.toolbar>.btn,.toolbar>a.btn,.toolbar>button.btn{margin-right:0}.table-responsive table .actions form,.actions form{display:inline-flex;margin:0}.btn-icon-only{width:42px;padding-inline:0!important}.btn[disabled],button[disabled]{opacity:.58;cursor:not-allowed;transform:none!important;box-shadow:none!important}

@media(max-width:640px){.actions .btn,.actions form,.actions button{width:100%}}
@media print{.btn,.logout-btn,.no-print{display:none!important}}
