.container { max-width: 1100px; } .service-card { background: #ffffff; border-radius: 20px; padding: 30px; border: 1px solid #e5e7eb; box-shadow: 0 8px 25px rgba(0,0,0,0.04); height: 100%; } #judul { font-weight: 700; font-size: 28px; margin-bottom: 12px; color: #111827; } #deskripsi-singkat { font-size: 14px; color: #6b7280; margin-bottom: 14px; text-align: justify; } #deskripsi { padding-left: 18px; color: #374151; font-size: 14px; } #deskripsi li { margin-bottom: 6px; } #gambar { width: 100%; max-height: 260px; object-fit: cover; border-radius: 16px; box-shadow: 0 8px 20px rgba(0,0,0,0.06); } .table-card { background: #ffffff; border-radius: 16px; padding: 20px; border: 1px solid #e5e7eb; box-shadow: 0 6px 20px rgba(0,0,0,0.04); } .table-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .table-header h5 { font-size: 14px; font-weight: 600; } .table-header input { border: 1px solid #e5e7eb; border-radius: 999px; padding: 8px 14px; font-size: 13px; width: 220px; transition: 0.2s; } .table-header input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); } .custom-table { margin: 0; border-collapse: separate; border-spacing: 0; } .custom-table thead { background: #f3f4f6; } .custom-table thead th { font-size: 12px; font-weight: 600; color: #374151; padding: 10px; border: none; } .custom-table tbody td { font-size: 13px; padding: 10px; color: #4b5563; border-top: 1px solid #f1f5f9; } .custom-table tbody tr:nth-child(even) { background: #fafafa; } .custom-table tbody tr:hover { background: #eef6ff; } .custom-table .btn { border-radius: 999px; font-size: 12px; padding: 5px 12px; } @media (max-width: 768px) { .table-header { flex-direction: column; gap: 10px; align-items: flex-start; } .table-header input { width: 100%; } } .btn-export { background: #ffffff; color: #2563eb; border: 1px solid #2563eb; border-radius: 999px; padding: 6px 14px; font-size: 13px; margin-right: 10px; cursor: pointer; } .btn-export:hover { background: #374151; color: #ffffff; } .pagination-wrapper { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; flex-wrap: wrap; gap: 10px; } .pagination-info { font-size: 13px; color: #6b7280; } .pagination-controls { display: flex; gap: 6px; } .page-btn { padding: 6px 10px; border-radius: 8px; border: 1px solid #e5e7eb; background: #fff; cursor: pointer; font-size: 13px; min-width: 32px; } .page-btn.active { background: #2563eb; color: #fff; border-color: #2563eb; } .page-btn:hover { background: #f3f4f6; } .page-btn.disabled { opacity: 0.4; pointer-events: none; }