/* ==========================================================================
   BUTTON COMPONENTS
   Reusable button styles for consistent UI across the application.
   
   Two families:
     1. .btn-form          — Footer form buttons (Save, Cancel, etc.)
     2. .btn-action        — Contextual action buttons (cards, toolbars)
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. FORM BUTTONS  (.btn-form)
   Used for primary form actions like Save / Cancel in card footers.
   -------------------------------------------------------------------------- */

.btn-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    font-weight: 600;
    font-size: 0.82rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    text-decoration: none;
    letter-spacing: 0.15px;
    white-space: nowrap;
}

/* Save / Submit — solid blue */
.btn-form-primary {
    background: #0d6efd;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-form-primary:hover {
    background: #0a58ca;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* Cancel / Back — white with border */
.btn-form-secondary {
    background: #fff;
    color: #475569;
    border: 1px solid #d1d5db;
}

.btn-form-secondary:hover {
    background: #f9fafb;
    border-color: #9ca3af;
    color: #1e293b;
}

/* Danger — red solid */
.btn-form-danger {
    background: #dc2626;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-form-danger:hover {
    background: #b91c1c;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* Success — green solid */
.btn-form-success {
    background: #16a34a;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-form-success:hover {
    background: #15803d;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* Create / Add New — brand red (Selangor) */
.btn-form-create {
    background: #c41e3a;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-form-create:hover {
    background: #a81832;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}


/* --------------------------------------------------------------------------
   2. ACTION BUTTONS  (.btn-action)
   Used for contextual actions in cards and toolbars (e.g. Tindakan Pengguna).
   Each variant uses a soft tinted background that deepens on hover.
   -------------------------------------------------------------------------- */

.btn-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    font-weight: 600;
    font-size: 0.8rem;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    text-decoration: none;
}

/* Red — destructive / impersonate actions */
.btn-action-red {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.btn-action-red:hover {
    background: #fee2e2;
    color: #991b1b;
    border-color: #f87171;
}

/* Blue — communication / info actions */
.btn-action-blue {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.btn-action-blue:hover {
    background: #dbeafe;
    color: #1e40af;
    border-color: #60a5fa;
}

/* Slate — neutral / settings actions */
.btn-action-slate {
    background: #f8fafc;
    color: #334155;
    border-color: #cbd5e1;
}

.btn-action-slate:hover {
    background: #e2e8f0;
    color: #1e293b;
    border-color: #94a3b8;
}

/* Amber — warning / toggle actions */
.btn-action-amber {
    background: #fffbeb;
    color: #92400e;
    border-color: #fde68a;
}

.btn-action-amber:hover {
    background: #fef3c7;
    color: #78350f;
    border-color: #f59e0b;
}

/* Danger — delete actions (white base, red accent) */
.btn-action-danger {
    background: #fff;
    color: #dc2626;
    border-color: #fca5a5;
}

.btn-action-danger:hover {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #f87171;
}

/* Green — success / approval actions */
.btn-action-green {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.btn-action-green:hover {
    background: #dcfce7;
    color: #166534;
    border-color: #4ade80;
}